Cod sursa(job #3198555)

Utilizator Allie28Radu Alesia Allie28 Data 29 ianuarie 2024 19:29:02
Problema Lupul Urias si Rau Scor 8
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#include <vector>
#include <queue>
#include <stack>
using namespace std;
ifstream fin("lupu.in");
ofstream fout("lupu.out");

const int LMAX = 100005;
struct interval{
    int st, dr;
    bool operator < (interval b) {
        if (dr > b.dr) return true;
        else if (dr == b.dr && st >= b.st) return true;
        return false;
    }
}v[LMAX];

int main() {
    int n, i, x, l;
    fin>>n>>x>>l;
    for (i = 0; i < n; i++) {
        fin>>v[i].st>>v[i].dr;
    }
    sort(v, v + n);
    long long dpdo = 0, lana = 0; //distanta parcursa de oi
    for (i = 0; i < n; i++) {
        if (v[i].st + dpdo <= x) { //daca oaia poate fi luata
            lana+=v[i].dr;
            dpdo+=l;
        }
    }
    fout<<lana;

    fin.close();
    fout.close();
    return 0;
}