Pagini recente »
Istoria paginii runda/vaslui_cls10_16.02
|
Istoria paginii utilizator/alexradumoraru
|
Istoria paginii utilizator/marailie
|
Istoria paginii runda/vaslui_cls10_16.02
|
Cod sursă (job #94847)
Cod sursă (job
#94847)
#include <cstdio>
#include <algorithm>
using namespace std;
FILE*f=fopen("lalele.in","r");
FILE*h=fopen("lalele.out","w");
int n,x,y,top,zi,i;
struct floare{
int h,z;
};
bool mod(floare a,floare b){
return a.h<b.h;
}
floare v[5000001];
int main(){
fscanf(f,"%d",&n);
while ( i<n ){
fscanf(f,"%d%d",&x,&y);
i+=x;
if ( y!=0 ){
for ( int j=1;j<=x;++j ){
v[++top].h=y;
v[top].z=++zi;
}
}
else{
for ( int j=1;j<=x;++j ){
++zi;
for ( int l=1;l<=top;++l ){
v[l].h+=zi-v[l].z;
v[l].z=zi;
}
nth_element(v+1,v+top/2+1,v+top+1,mod);
top=top/2;
fprintf(h,"%d\n",v[top+1]);
}
}
}
return 0;
}