Cod sursă (job #486217)

Utilizator avatar rares_ciociea balkdk rares_ciociea IP ascuns
Problemă Lalele (clasele 9-10) Compilator cpp | 1,09 kb
Rundă Arhiva de probleme Status evaluat
Dată 15 sept. 2019 13:00:55 Scor 0
#include <bits/stdc++.h>

using namespace std;
ifstream in("lalele.in");
ofstream out("lalele.out");
struct lalea{
    int val,zi;
};

lalea v[5000001];
bool cmp(lalea a,lalea b)
{
    return a.val<b.val;
}

int main()
{
    int n,i,s=0,nr(0),z=1,d,x,j;
    in>>n;
    while(s<n)
    {
        in>>d>>x;
        s+=d;
        if(x==0)
        {

            for(i=1;i<=d;i++)
            {
                for(j=1;j<=nr;j++)
                {
                    v[j].val+=z-v[j].zi;
                    v[j].zi=z;
                }
                if(nr%2==0)
                    nth_element(v+1,v+nr/2+1,v+nr+1,cmp);
                else
                    nth_element(v+1,v+nr/2,v+nr+1,cmp);
                if(nr%2==1)
                    nr--;
                nr/=2;

                out<<v[nr+1].val<<"\n";

                z++;
            }


        }
        else
        {
            for(i=1;i<=d;i++)
            {
                v[++nr].val=x;
                v[nr].zi=z;
                z++;
            }
        }
    }
    return 0;
}