Cod sursa(job #2670221)

Utilizator rapidu36Victor Manz rapidu36 Data 9 noiembrie 2020 14:36:50
Problema Orase Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>
#include <algorithm>

using namespace std;

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

const int N = 50000;

struct oras
{
    int d, l;
};

int m, n;
oras v[N];

bool cmp(oras x, oras y)
{
    return (x.d < y.d);
}

int dist(oras x, oras y)
{
    return (x.l + y.l + y.d - x.d);
}

int main()
{
    in >> m >> n;
    for (int i = 0; i < n; i++)
    {
        in >> v[i].d >> v[i].l;
    }
    in.close();
    sort(v, v + n, cmp);
    int dc, dmax;
    dc = dmax = dist(v[0], v[1]);
    int u = 0;
    for (int i = 2; i < n; i++)
    {
        if (dist(v[i-1], v[i]) > dist(v[u], v[i]))
        {
            u = i - 1;
        }
        dc = dist(v[u], v[i]);
        if (dc > dmax)
        {
            dmax = dc;
        }
    }
    out << dmax;
    out.close();
    return 0;
}