Cod sursa(job #1884222)

Utilizator theodor.moroianuTheodor Moroianu theodor.moroianu Data 18 februarie 2017 15:46:14
Problema Orase Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <cstdio>
#include <algorithm>
using namespace std;

pair <int, int> v[50100];

int main()
{
    int n, m;
    FILE *in(fopen("orase.in", "r")), *out(fopen("orase.out", "w"));

    fscanf(in, "%d%d", &n, &m);

    for (int i(0); i < n; i++)
        fscanf(in, "%d%d", &v[i].first, &v[i].second);

    sort(v, v + n);

    int l(v[0].second);
    int best(0);

    for (int i(1); i < n; i++) {
        l += v[i].first - v[i - 1].first;
        if (l + v[i].second > best)
            best = l + v[i].second;

        if (v[i].second > l)
            l = v[i].second;
    }

    fprintf(out, "%d", best);
    return 0;
}