Cod sursă (job #485788)

Utilizator avatar game_difficulty Calin Crangus game_difficulty IP ascuns
Problemă Lalele (clasele 9-10) Compilator cpp | 0,94 kb
Rundă Arhiva de probleme Status evaluat
Dată 12 sept. 2019 18:36:55 Scor 60
#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;
    int b=0;
    if(v[v[0]]>x)
        b=1;
    for(i=1; i<=v[0]; i++)
        v[i]+=d;
    i=0;
    while(d--)
        v[++v[0]]=x+ i++;
    if(b==1)
        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;
}