Pagini recente » Cod sursa (job #1167177) | Cod sursa (job #2665453) | Cod sursa (job #1112092) | Cod sursa (job #2292416) | Cod sursa (job #2398855)
#include <bits/stdc++.h>
#define DMAX 100100
using namespace std;
ifstream fin("lupu.in");
ofstream fout("lupu.out");
priority_queue<int> H;
struct oaie{int dist,lana,inter;};
oaie a[DMAX];
int n,distmax,dep,rest;
bool compar(oaie x,oaie y)
{
return x.inter<y.inter;
}
int main()
{int i;
fin>>n>>distmax>>dep;
rest=distmax%dep;
for(i=1;i<=n;i++)
{fin>>a[i].dist>>a[i].lana;
a[i].inter=a[i].dist/dep+1;
if(!(a[i].dist%dep))
a[i].inter--;
}
sort(a+1,a+n+1,compar);
int nrmax=0;
int nrint=0;
int c1=1;
while(nrint<=distmax/dep)
{
while(c1<=n&&a[c1].inter==nrint)
H.push(a[c1].lana),c1++;
nrmax+=H.top();
H.pop();
nrint++;
}
fout<<nrmax;
}