Pagini recente » Cod sursa (job #2186930) | Cod sursa (job #1071944) | Cod sursa (job #1986176) | Cod sursa (job #681528) | Cod sursa (job #3121592)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("lupu.in");
ofstream fout("lupu.out");
set <int , greater <int> > s;
int n,x,l,r;
struct oaie
{
int d,lana;
}a[100001];
bool cmp(oaie A,oaie B)
{
if(A.d>B.d)
return 0;
return 1;
}
int dist_max;
int main()
{
int suma=0,i;
fin>>n>>x>>l;
r=x%l;
for(int i=1;i<=n;i++)
{
fin>>a[i].d >>a[i].lana;
}
sort(a+1,a+n+1,cmp);
i=1;
for(int j=0;j<=x/l;j++)
{
dist_max=j*l+r;
while(i<=n)
{
if(a[i].d<=dist_max)
{
s.insert(a[i].lana);
i++;
}
else
break;
}
if(!s.empty())
{
suma+=*s.begin();
s.erase(s.begin());
}
}
fout<<suma;
return 0;
}