Pagini recente » Cod sursa (job #1338187) | Cod sursa (job #2618340) | Cod sursa (job #2618348) | Cod sursa (job #3216782) | Cod sursa (job #3267308)
#include <bits/stdc++.h>
#define ll long long
#define int ll
#define ld long double
#define pii pair<int, int>
#define tpl tuple<int, int, int>
#define piv pair<int, vector<int>>
#define eb emplace_back
#define oo INT_MAX / 2
#define OO LLONG_MAX / 2
using namespace std;
const string fn("lupu");
ifstream in(fn + ".in");
ofstream out(fn + ".out");
#define cin in
#define cout out
int N,X,L;
priority_queue<pii> pq;
bitset<1005> vis;
void solve()
{
cin>>N>>X>>L;
vector<pii> v(N);
for(auto &x: v)
cin>>x.first>>x.second;
sort(v.begin(),v.end(),[](pii a,pii b){
if(a.second<b.second)
return 0;
if(a.second==b.second)
{
if(a.first<b.first)
return 1;
return 0;
}
return 1;
});
int ans=0;
for(int t=0,ok;ok;t++)
{
ok=0;
int i=-1;
for(auto x: v)
{
i++;
if(vis[i])
continue;
///cout<<t*L+x.first<<' '<<x.second<<' '<<X<<'\n';
if(t*L+x.first<=X)
{
ans+=x.second;
ok=1;
vis[i]=1;
break;
}
}
}
cout<<ans;
}
signed main()
{
int q = 1;
/// cin >> q;
while (q--)
solve();
return 0;
}