Pagini recente » Cod sursa (job #608267) | Borderou de evaluare (job #918501) | Borderou de evaluare (job #389632) | Borderou de evaluare (job #1001252) | Cod sursa (job #2788062)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("lupu.in");
ofstream fout("lupu.out");
const int NMAX = 1e5+6;
struct oaie
{
int dist, lana, mutari;
}w[NMAX];
bool cond(oaie A, oaie B)
{
if(A.mutari == B.mutari)
return A.lana > B.lana;
return A.mutari < B.mutari;
}
int main()
{
int n, x, l, i;
fin >> n >> x >> l;
for(i = 1; i <= n; ++i)
{
fin >> w[i].dist >> w[i].lana;
w[i].mutari = (x - w[i].dist) / l;
}
sort(w+1, w+1+n, cond);
int mutcurent = -1;
long long sum = 0;
for(i = 1; i <= n; ++i)
{
if(mutcurent != w[i].mutari)
sum += w[i].lana, mutcurent = w[i].mutari;
}
fout << sum;
return 0;
}