Pagini recente » Cod sursa (job #1941581) | Cod sursa (job #1027017) | Cod sursa (job #2715125) | Cod sursa (job #870505) | Cod sursa (job #1261223)
#include <fstream>
#include <iostream>
#include <vector>
#include <queue>
#include <algorithm>
using namespace std;
ifstream fin ("lupu.in");
ofstream fout ("lupu.out");
struct oaie
{
int t,a;
};
bool fcmp(oaie, oaie);
int main()
{
int aux1,aux2;
int n,x,l,tmax = 0,res = 0;
oaie temp;
vector <oaie> v;
priority_queue <int, vector<int>, less<int> > pq;
fin>>n>>x>>l;
for(int i=0;i<n;i++)
{
fin>>aux1>>aux2;
if(aux1<=x)
{
temp.t = (x-aux1)/l;
temp.a = aux2;
v.push_back(temp);
}
}
sort(v.begin(),v.end(),fcmp);
tmax = v.at(0).t;
int i = 0;
while(tmax >= 0)
{
for(;i<v.size() && v.at(i).t == tmax;i++)
pq.push(v.at(i).a);
if(!pq.empty())
{
res+=pq.top();
pq.pop();
}
tmax--;
}
fout<<res;
return 0;
}
bool fcmp(oaie a, oaie b)
{
return a.t > b.t;
}