Pagini recente »
Borderou de evaluare (job #218221)
|
Diferențe pentru runda/oji-2023-antrenament-ffa-v2 între reviziile 35 și 40
|
Cod sursă (job #403306)
|
2013-03-30-test-5
|
Cod sursă (job #495648)
Cod sursă (job
#495648)
#include <stdio.h>
#include <algorithm>
using namespace std;
const int F=5000003;
int inaltime[F];
int main()
{
FILE *in=fopen("lalele.in","r");
FILE *out=fopen("lalele.out","w");
int n,i,d,zile;
int x,aux,nr=0,q;
fscanf(in,"%d",&n);
zile=0;
while(n>0)
{
fscanf(in,"%d%d",&d,&x);
if(x==0)
{
for(i=0;i<d;i++)
{
q=(nr>>1)+1;
if(nr!=q)
nth_element(inaltime+1,inaltime+q,inaltime+nr+1);
else if(q==2)
if(inaltime[1]>inaltime[2])
{
aux=inaltime[1];
inaltime[1]=inaltime[2];
inaltime[2]=aux;
}
fprintf(out,"%d\n",inaltime[q]+zile);
nr>>=1;
zile++;
}
}
else
{
zile+=d-1;
for(i=0;i<d;i++)
{
inaltime[++nr]=x-zile;
zile--;
}
zile+=d+1;
}
n-=d;
}
return 0;
}