Cod sursa(job #2492179)

Utilizator sefuvostruHoszu Adryel sefuvostru Data 14 noiembrie 2019 08:46:37
Problema Lupul Urias si Rau Scor 16
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1 kb
#include <iostream>
#include <fstream>
#include <queue>
using namespace std;
ifstream f("lupu.in");
ofstream g("lupu.out");
typedef pair<int,int> frati;
priority_queue<frati, vector<frati>, greater<frati> >citire;
priority_queue<frati> coada;
int d,val,ok,sum,nr;
unsigned long long int n,x,l;
int main()
{
    f>>n>>x>>l;
    for(int l=1;l<=n;l++)
    {
        f>>d>>val;
        citire.push(make_pair(d,val));
    }
    while(!citire.empty())
    {
      ok=1;
      frati u=citire.top();
      citire.pop();
      coada.push(make_pair(u.second,u.first));
       int  calc=(x-u.first)/l+1;
       while(ok&&!citire.empty())
       {
           u=citire.top();
           int calc2=(x-u.first)/l+1;
           if(calc2==calc)
           {
               citire.pop();
               coada.push(make_pair(u.second,u.first));
           }
           else
            ok=0;
       }
       u=coada.top();
       coada.pop();
       sum+=u.first;
    }
    g<<sum;
    return 0;
}