Pagini recente » Cod sursa (job #1350576) | Cod sursa (job #1592133) | Cod sursa (job #1435049) | Cod sursa (job #1081114) | Cod sursa (job #2064644)
#include<fstream>
#include<algorithm>
using namespace std;
int n,x,l,i,ct,X;
long long s;
struct oaie{int d,c;};
oaie v[100010];
ifstream f("lupu.in");
ofstream g("lupu.out");
bool comp(oaie a,oaie b)
{
if(a.d>b.d) return 1;
if(a.d==b.d && a.c>b.c) return 1;
return 0;
}
int alege(int p)
{
int poz=p,cmax=0,pz=0;
while(v[poz].d+(ct+1)*l>X && poz<=n)
{
if(v[poz].c>cmax)
{
cmax=v[poz].c;
pz=poz;
}
poz++;
}
i=poz-1;
return pz;
}
int main()
{
f>>n>>X>>l;
for(i=1;i<=n;i++)
f>>v[i].d>>v[i].c;
sort(v+1,v+n+1,comp);
ct=0;
for(i=1;i<=n;i++)
{
x=alege(i);
s+=v[x].c;
ct++;
}
g<<s;
f.close();
g.close();
return 0;
}