Cod sursă (job #118101)

Utilizator avatar Epictet Stamatin Cristian Epictet IP ascuns
Problemă Lalele (clasele 9-10) Compilator cpp | 0,86 kb
Rundă Arhiva de probleme Status evaluat
Dată 16 feb. 2015 13:23:14 Scor 90
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin ("lalele.in");
ofstream fout ("lalele.out");
int N, d, x, nr, V[5000010];

int main()
{
    fin >> N;
    while(N > 0)
    {
        fin >> d >> x;
        if (x)
        {
            for (int j = 1; j <= nr; j++)
                V[j] += d;
            for (int j = 1; j <= d; j++)
                V[++nr] = x++;
        }
        else
        {
            sort (V + 1, V + 1 + nr);
            for (int j = 1; j <= d; j++)
            {
                int mij = (nr + 1) / 2;
                if (nr & 1) fout << V[mij] + j << '\n';
                else fout << V[mij + 1] + j << '\n';
                nr -= mij;
            }
            for (int j = 1; j <= nr; j++)
                V[j] += d;
        }
        N -= d;
    }

    fout.close();
    return 0;
}