Cod sursă (job #355917)

Utilizator avatar FaneCelMare Steven FaneCelMare IP ascuns
Problemă Lalele (clasele 9-10) Compilator cpp | 1,30 kb
Rundă Arhiva de probleme Status evaluat
Dată 24 feb. 2018 10:48:37 Scor 30
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
vector <int> v, dd;
int main()
{
    int n, d, x, i, cd, j, size;
    ifstream in("lalele.in");
    ofstream out("lalele.out");
    in >> n;
    v.reserve(5000000);
    dd.reserve(1000000);
    while (n > 0) {
        in >> d;
        in >> x;
        cd = d;
        if (x > 0) {
            for (j = 0; j < d; j++) {
                for (i = 0; i < v.size(); i++) {
                    v[i]++;
                }
            }
            for (; d > 0; d--) {
                v.push_back(d + x);
            }
        } else {
            sort(v.begin(), v.end());
            while (d > 0) {
                size = v.size()-1;
                for (i = 0; i < size/2; i++) {
                    v.pop_back();
                }
                dd.push_back(v[v.size()-1]);
                v.pop_back();
                for (i = 0; i < v.size(); i++) {
                    v[i]++;
                }
                d--;
            }
            for (i = 0; i < dd.size(); i++) {
                out << dd[i] << endl;
            }
            size = dd.size();
            for (i = 0; i < size; i++) {
                dd.pop_back();
            }
        }
        n -= cd;
    }


    return 0;
}