Pagini recente »
Clasament probleme_multe
|
Monitorul de evaluare
|
2015-03-24-clasa-5-tema-30
|
Istoria paginii runda/2015-04-02-test-7b/clasament
|
Cod sursă (job #96641)
Cod sursă (job
#96641)
#include <stdio.h>
#include <algorithm>
using namespace std;
const int N=5000002;
int val[N];
int main()
{
FILE *in,*out;
in=fopen("lalele.in","r");
out=fopen("lalele.out","w");
int n,i,z,d,x,aux,nr=0,k;
fscanf(in,"%d",&n);
z=0;
while(n>0)
{
fscanf(in,"%d%d",&d,&x);
if(x==0)
{
for(i=0;i<d;i++)
{
k=(nr>>1)+1;
if(nr>k)
nth_element(val+1,val+k,val+nr+1);
else if(k==2 && val[1]>val[2])
{
aux=val[1];
val[1]=val[2];
val[2]=aux;
}
fprintf(out,"%d\n",val[k]+z);
nr>>=1;
z++;
}
}
else
{
z+=d-1;
for(i=0;i<d;i++)
{
val[++nr]=x-z;
z--;
}
z+=d+1;
}
n-=d;
}
return 0;
}