Pagini recente »
Istoria paginii utilizator/alexiabadoiu
|
Istoria paginii utilizator/scinteiealexandra
|
Istoria paginii utilizator/vladstoick
|
Istoria paginii runda/qwerty3
|
Cod sursă (job #356751)
Cod sursă (job
#356751)
#include <fstream>
#include <vector>
using namespace std;
struct lalea{
int h;
int day;
};
vector <lalea> v, dd;
int main()
{
int n, d, x, i, cd, j, size, days;
lalea l;
ifstream in("lalele.in");
ofstream out("lalele.out");
in >> n;
days = 0;
while (n > 0) {
in >> d;
in >> x;
cd = d;
if (x > 0) {
while (d > 0) {
l.day = days;
l.h = x;
days++;
d--;
v.push_back(l);
}
} else {
size = v.size();
for (i = 0; i < size - 1; i++) {
for (j = i + 1; j < size; j++) {
if (v[i].h - v[i].day > v[i].h - v[i].day) {
l = v[i];
v[i] = v[j];
v[j] = v[i];
}
}
}
while (d > 0) {
size = v.size()-1;
for (i = 0; i < size/2; i++) {
v.pop_back();
}
dd.push_back(v[v.size()-1]);
v.pop_back();
d--;
}
for (i = 0; i < dd.size(); i++) {
x = dd[i].h + days - dd[i].day + 1;
out << x << endl;
}
size = dd.size();
for (i = 0; i < size; i++) {
dd.pop_back();
}
days += cd;
}
n -= cd;
}
return 0;
}