Pagini recente » Cod sursa (job #2375290) | Cod sursa (job #577214) | Cod sursa (job #3288243) | Cod sursa (job #2407287) | Cod sursa (job #1376167)
#include <fstream>
#include <algorithm>
#include <queue>
using namespace std;
ifstream in("lupu.in");
ofstream out("lupu.out");
struct str
{
int dist,lung;
};
str v[100010];
inline bool cmp(str a,str b)
{
if (a.dist==b.dist) return a.lung<b.lung;
else return a.dist<b.dist;
}
priority_queue <int> coada;
int main()
{
int n,x,l,d,rez=0,i;
in>>n>>x>>l;
for(i=1; i<=n; i++)
in>>v[i].dist>>v[i].lung;
sort(v+1,v+n+1,cmp);
/* for(i=1; i<=n; i++)
out<<v[i].dist<<" "<<v[i].lung<<endl;*/
i=1;
for(d=0;d<=x;d=d+l)
{
while(v[i].dist<=d)
coada.push(v[i++].lung);
rez=rez+coada.top();
coada.pop();
}
out<<rez;
}