Pagini recente »
Cine trece?
|
Istoria paginii runda/concurs_2_cls7_2018/clasament
|
Clasament adunare
|
Cod sursă (job #388948)
|
Cod sursă (job #485781)
Cod sursă (job
#485781)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("lalele.in");
ofstream out("lalele.out");
int v[5000000];
void plant(int d, int x)
{
int i;
for(i=1; i<=v[0]; i++)
v[i]+=d;
i=0;
while(d--)
{
v[++v[0]]=x+ i++;
}
sort(v+1,v+v[0]+1);
}
void targ(int d, int x)
{
int r,m,i,cd=d;
while(d--)
{
m=2000000000;
// m=0;
r=v[0]/2;
while(v[0]>r)
{
// if(v[v[0]]>m)
if(v[v[0]]+cd-d<m)
m=v[v[0]]+cd-d;
v[v[0]--]=0;
}
out<<m<<'\n';
}
for(i=1; i<=v[0]; i++)
v[i]+=cd;
}
int main()
{
int x,d,n;
in>>n;
while(n)
{
in>>d>>x;
n-=d;
if(x==0)
targ(d,x);
else
plant(d,x);
}
return 0;
}