Pagini recente »
Istoria paginii utilizator/ionbordea1408
|
Rating Bobei Nicholas (nicholas_bobei)
|
Rating Opritescu Ianis (IanisOpritescu)
|
Istoria paginii utilizator/coolyonutz
|
Cod sursă (job #486246)
Cod sursă (job
#486246)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("lalele.in");
ofstream out("lalele.out");
struct ura
{
int h,zi;
};
bool comp(ura x,ura y)
{
if(x.h<y.h)
return true;
else
return false;
}
int v[5000001];
int main()
{
int n,i,s=0,nr=0,z=1,d,x,j;
in>>n;
/*for(i=1;i<=n;)
{
in>>d>>x;
if(x!=0)
for(j=1;j<=d;j++,i++)
{
v[++q].h=x;
v[q].zi=i;
}
else
{
int k=q/2;
for(l=1;l<=q;l++)
{
v[l].h+=(i-v[l].zi);
}
for(j=1;j<=d;j++)
{
nth_element(v+1,v+q/2+1,v+q+1,comp);
out<<v[q/2+1].h<<'\n';
q=q/2;
++i;
for(l=1;l<=q;l++)
v[l].h+=1;
}
}
}*/
int add=0;
while(s<n)
{
in>>d>>x;
s+=d;
if(x==0)
{
for(i=1; i<=d; i++)
{
add++;
nth_element(v+1, v+nr/2+1, v+nr+1);
out<<v[nr/2+1]+add<<'\n';
nr/=2;
}
}
else
{
add+=d;
for(i=1; i<=d; i++)
{
nr++;
v[nr]=x+i-add-1;
}
}
}
return 0;
}