Pagini recente » Cod sursa (job #3186037) | Cod sursa (job #973981) | Cod sursa (job #679296) | Cod sursa (job #2120111) | Cod sursa (job #1795684)
#include<cstdio>
#include<algorithm>
#include<queue>
const int NMAX=100001;
std::pair<long long,long long> v[NMAX];
std::priority_queue<long long> heap;
int main()
{
FILE *in=fopen("lupu.in","r");
int n,x,l;
fscanf(in,"%d %d %d ",&n,&x,&l);
for(int i=1;i<=n;i++)
{
fscanf(in,"%lld %lld ",&v[i].first,&v[i].second);
}
fclose(in);
std::sort(v+1,v+n+1);
int poz=1;
long long rasp=0ll;
for(int i=0;i<=x;i+=l)
{
while(v[poz].first<=i && poz<=n)
heap.push(v[poz++].second);
if(!heap.empty())
{
rasp+=heap.top();
heap.pop();
}
}
FILE *out=fopen("lupu.out","w");
fprintf(out,"%lld\n",rasp);
fclose(out);
}