Pagini recente »
Istoria paginii runda/concurs__6_11
|
Istoria paginii runda/pre_oji2017_cls_5
|
Borderou de evaluare (job #706502)
|
Istoria paginii runda/s17_lab9c/clasament
|
Cod sursă (job #95661)
Cod sursă (job
#95661)
#include <stdio.h>
#include <algorithm>
using namespace std;
int h[5000001];
int z[5000001];
int main()
{
FILE *fin,*fout;
fin=fopen("lalele.in","r");
fout=fopen("lalele.out","w");
int i,n,sum=0,nr=0,zi=0;
fscanf(fin,"%d",&n);
while(sum < n)
{
int a,b;
fscanf(fin,"%d%d",&a,&b);
if( b != 0)
{
for(i=1; i<=a; i++)
{
h[++nr]=b;
z[nr]=++zi;
}
}
else
{
int j=a;
while(j>0)
{
zi++;
for(i=1; i<=nr; i++)
{
h[i]+=zi-z[i];
z[i]=zi;
}
nth_element(h+1,h+nr/2+1,h+nr+1);
fprintf(fout,"%d\n",h[nr/2+1]);
nr/=2;
j--;
}
}
sum+=a;
}
return 0;
}