Pagini recente » Cod sursa (job #1438537) | Atasamentele paginii Clasament aasfa | Rating Gramisteanu Adrian (adria5n) | Istoria paginii runda/train-hard/clasament | Cod sursa (job #962471)
Cod sursa(job #962471)
#include<cstdio>
#include<algorithm>
#include<vector>
using namespace std;
typedef vector < pair < long, long > > OI;
typedef pair < int, int > OAIE;
OI turma;
int n, x, l, p, q, d;
long long sum;
inline bool cmp(OAIE a, OAIE b){
return (a.first+a.second == b.first+b.second) ? (a.first > b.first) : (a.first+a.second > b.first+b.second);
}
int main(){
FILE *in = fopen("lupu.in", "r"), *out = fopen("lupu.out", "w");
if (in && out){
fscanf(in, "%d %d %d\n", &n, &x, &l);
for(int i = 0; i < n; i++)
fscanf(in, "%d %d\n", &p, &q),
turma.push_back(OAIE(p, q));
sort(turma.begin(), turma.end(), cmp);
for (int i = 0; i < n; i++){
if (turma[i].first + d <= x) sum += turma[i].second, d += l;
}
fprintf(out, "%lld", sum);
fclose(in), fclose(out);
}
return 0;
}