Pagini recente » Cod sursa (job #1266106) | Cod sursa (job #68688) | Cod sursa (job #2027042) | Cod sursa (job #2766353) | Cod sursa (job #1787478)
#include <cstdio>
#include <fstream>
#include <algorithm>
using namespace std;
FILE *f=fopen("lupu.in","r");
FILE *g=fopen("lupu.out","w");
pair <long long,long long> O[100005];
long long N,i,X,L,CN,maxim,rez;
bool cmp(pair<long long,long long> a,pair<long long,long long> b)
{
if(a.first!=b.first)
return a.first>b.first;
return a.second>b.second;
}
int main()
{
fscanf(f,"%lld%lld%lld",&N,&X,&L);
for(i=1;i<=N;i++)
fscanf(f,"%lld%lld",&O[i].first,&O[i].second);
sort(O+1,O+1+N,cmp);
i=1;
while(O[i].first>X&&i<=N)
i++;
while(i<=N)
{
maxim=0;
while(O[i].first>X-L&&i<=N)
{maxim=max(maxim,O[i].second);i++;}
X-=L;
rez+=maxim;
}
fprintf(g,"%lld",rez);
fclose(f);
fclose(g);
return 0;
}