Pagini recente » Cod sursa (job #935117) | Cod sursa (job #83383) | Cod sursa (job #33643) | Cod sursa (job #2945954) | Cod sursa (job #2960009)
#include <bits/stdc++.h>
using namespace std;
/// INPUT / OUTPUT
ifstream fin("lupu.in");
ofstream fout("lupu.out");
/// GLOBAL VARIABLES
int n, x, l;
vector<pair<int,int>>v;
inline bool compare(pair<int,int>p1, pair<int,int>p2)
{
if(p1.first == p2.first)
return p1.second < p2.second;
return p1.first + l <= p2.first;
}
/// SOLUTION
inline void solve()
{
int ans = 0;
//cout << '\n';
sort(v.rbegin(), v.rend(), compare);
//for(int i = 0; i < v.size(); ++ i)
//{
//cout << v[i].first << ' ' << v[i].second << '\n';
//}
for(int i = 0; i < v.size() -1 ; ++ i)
{
int val = x, sum = 0;
for(int j = i; j < v.size(); ++ j)
{
if(x >= v[j].first)
sum += v[j].second, x-=l;
}
x = val;
ans = max(ans, sum);
}
fout << ans;
}
/// READING THE INPUT
int main()
{
ios::sync_with_stdio(false);
fin.tie(NULL);
fout.tie(NULL);
fin >> n >> x >> l;
for(int i = 1; i <= n; ++ i)
{
int n1, n2;
fin >> n1 >> n2;
v.push_back({n1,n2});
}
solve();
}