Cod sursă (job #495146)

Utilizator avatar o0o0o0o0o0o Dan Sclearov o0o0o0o0o0o IP ascuns
Problemă Lalele (clasele 9-10) Compilator cpp | 0,75 kb
Rundă lasm_22_10_cl11_12 Status evaluat
Dată 22 oct. 2019 21:34:33 Scor 100
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>

using namespace std;

ifstream in("lalele.in");
ofstream out("lalele.out");

int n, nrZi;
int d, x;

vector<int> lalele;

int main()
{
  in >> n;
  while(nrZi < n)
    {
      in >> d >> x;
      for(int i = 1; i <= d; i++)
        {
          nrZi++;
          if(x == 0)
            {
              nth_element(lalele.begin(), lalele.begin() + lalele.size() / 2, lalele.end(), [](const int & l, const int & r){ return (nrZi - l) < (nrZi - r); });
              out << nrZi - lalele[lalele.size() / 2] << '\n';
              lalele.erase(lalele.begin() + lalele.size() / 2, lalele.end());
            }
          else
            lalele.push_back(nrZi - x);
        }
    }
  return 0;
}