Cod sursa(job #2157929)

Utilizator FlorinHajaFlorin Gabriel Haja FlorinHaja Data 10 martie 2018 00:46:25
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <fstream>
#include <algorithm>

using namespace std;

ifstream f("orase.in");
ofstream g("orase.out");

const int N = 50005, f_mare = 2e9;
int m, n, i, maxim, k;

struct punct {
    int d, l;
}v[N];

bool cmp(const punct &a, const punct &b) {
    return a.d < b.d;
}

int main() {
    f >> m >> n;
    for (i = 1; i <= n; i++)
        f >> v[i].d >> v[i].l;
    maxim = k = -f_mare;
    sort(v+1,v+n+1,cmp);
    for (i = 1; i <= n; i++) {
        if (maxim < v[i].d + v[i].l + k) maxim = v[i].d + v[i].l + k;
        if (k < - v[i].d + v[i].l) k = v[i].l - v[i].d;
    }
    g << maxim;

    return 0;
}