Pagini recente »
Cod sursă (job #764224)
|
Istoria paginii runda/lasm_25_05_2022_cl10_11
|
Monitorul de evaluare
|
Istoria paginii utilizator/anamaria121421
|
Cod sursă (job #563549)
Cod sursă (job
#563549)
#include <fstream>
#include <algorithm>
#define NMAX 5000005
using namespace std;
ifstream f("lalele.in");
ofstream g("lalele.out");
int total_days, days, h, day, n, first;
struct Lalele{
int day;
int height;
};
Lalele v[NMAX];
bool cmp(Lalele a, Lalele b)
{
int val_a = a.height + day - a.day;
int val_b = b.height + day - b.day;
if(val_a > val_b)
return 0;
return 1;
}
int main()
{
f >> total_days;
while(total_days)
{
f >> days >> h;
if(h > 0)
{
first = 1;
while(days)
{
day++;
v[++n].day = day;
v[n].height = h;
days--;
total_days--;
}
}
else
{
while(days)
{
day++;
if(first)
{
sort(v + 1, v + 1 + n, cmp);
first = 0;
}
g << v[n / 2 - n % 2 + 1].height + day - v[n / 2 - n % 2 + 1].day << "\n";
n = n / 2;
days--;
total_days--;
}
}
}
return 0;
}