Pagini recente » Cod sursa (job #3273826) | Cod sursa (job #2150716) | Cod sursa (job #539778) | Cod sursa (job #3227437) | Cod sursa (job #1322236)
#include <fstream>
#include <algorithm>
#include <queue>
using namespace std;
ifstream f("lupu.in");
ofstream g("lupu.out");
struct oi
{
int d, l;
}Sheep[100005];
bool SheepCOmp(oi A, oi B)
{
return (A.d<B.d);
}
priority_queue < int > Heap;
int main()
{
int n, x, l, i=1;
long long sol=0;
f>>n>>x>>l;
for(int i=1;i<=n; i++)
f>>Sheep[i].d>>Sheep[i].l;
sort(Sheep+1, Sheep+n+1, SheepCOmp);
for(int d=0; i<=n && d<=x; d= d + l)
{
while (i<=n && Sheep[i].d<=d)
{
Heap.push(Sheep[i].l);
i++;
}
if (Heap.size())
{
sol+=Heap.top();
Heap.pop();
}
}
g<<sol<<'\n';
return 0;
}