Pagini recente »
Cod sursă (job #521950)
|
Istoria paginii runda/s20_tema2_5/clasament
|
Istoria paginii runda/tema_14_clasa_5
|
Statistici Casian Teodorescu (Casian)
|
Cod sursă (job #383211)
Cod sursă (job
#383211)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("lalele.in");
ofstream fout("lalele.out");
const int NMAX = 5000005;
int v[NMAX],ult[NMAX];
int main()
{
int n,k=0,p=0,x,d; /// xD xD xD
fin >> n;
int i=1;
while(i<=n)
{
fin >> d >> x; /// xD
if(x>0)
{
for(int j=1;j<=d;j++)
{
k++;
v[k]=x;
p++;
ult[k]=p;
}
}
else
{
for(int j=1;j<=k;j++)
{
v[j]=v[j]+p-ult[j]; /// pentru cresterea lalelelor in cele d zile ( prima creste k-1 in plus , a doua k-2 etc... )
ult[j]=p;
}
for(int j=1;j<=d;j++)
{
p++;
nth_element(v+1,v+k/2+1,v+k+1); /// http://www.cplusplus.com/reference/algorithm/nth_element/
k/=2; /// se injumatatesc lalele;
fout << v[k+1]+p-ult[j] << '\n';
}
}
i+=d; /// lucram din d in d zile ( d - days)
}
return 0;
}