Pagini recente » Cod sursa (job #2403296) | Cod sursa (job #824479) | Cod sursa (job #2554026) | Cod sursa (job #803307) | Cod sursa (job #2492179)
#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;
}