Cod sursa(job #656183)

Utilizator vladtarniceruVlad Tarniceru vladtarniceru Data 4 ianuarie 2012 11:42:18
Problema Orase Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <fstream>
#include <algorithm>
using namespace std;

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

int m, n, sol;
struct oras {int d, l;} v[50100];

inline bool cmp(oras a, oras b)
{
    return a.d < b.d;
}

int main()
{
    f >> m >> n;
    for (int i = 1; i <= n; ++i)
        f >> v[i].d >> v[i].l;

    sort(v + 1, v + n + 1, cmp);

    for (int st = 1, dr = 2; dr <= n; ++dr)
    {
        sol = max(sol, v[dr].d + v[dr].l - v[st].d + v[st].l);
        if (v[dr].l > v[st].l + v[st].d + v[dr].d)
            st = dr;
    }

    g << sol << '\n';
    g.close();
    return 0;
}