Cod sursa(job #2708416)

Utilizator DordeDorde Matei Dorde Data 18 februarie 2021 18:13:07
Problema Lupul Urias si Rau Scor 16
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <fstream>
#include <algorithm>
using namespace std;
int const N  = 1e5 + 3;
ifstream f ("lupu.in");
ofstream g ("lupu.out");
struct code {
    int d , l;
    bool operator < (code r) const {
        return d > r . d;
    }
};
code v [N];
int ind [N];
int main()
{
    int n , x , D;
    f >> n >> x >> D;
    for(int i = 1 ; i <= n ; ++ i){
        int a , b;
        f >> a >> b;
        v [i] = {a , b};
    }
    sort (v + 1 , v + 1 + n);
    int a = 0 , ans = 0;
    for(int i = 1 ; i <= n ; ++ i){
        if (v [i] . d > x - D ){
            a = max (a , v [i] . l);
        }
        else{
            ans += a;
            x -= D;
            a = 0;
            -- i;
        }
    }
    a = 0;
    for(int i = 1 ; i <= n ; ++ i)
        if (v [i] . d == x)
            a = max (a , v [i] . l);
    g << ans + a;
    return 0;
}