Cod sursa(job #2492182)

Utilizator sefuvostruHoszu Adryel sefuvostru Data 14 noiembrie 2019 08:58:25
Problema Lupul Urias si Rau Scor 12
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.07 kb
#include <iostream>
#include <fstream>
#include <queue>
using namespace std;
ifstream f("lupu.in");
ofstream g("lupu.out");
typedef pair<unsigned long long int,unsigned long long int> frati;
priority_queue<frati, vector<frati>, greater<frati> >citire;
priority_queue<frati> coada;
int ok;
unsigned long long int n,x,l,sum,d,val;
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));
       unsigned long long int  calc=(x-u.first)/l;
       while(ok&&!citire.empty())
       {
           u=citire.top();
           unsigned long long int calc2=(x-u.first)/l;
           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;
}