Cod sursa(job #2670224)

Utilizator Ioan_AnghelIoan Anghel Ioan_Anghel Data 9 noiembrie 2020 14:41:37
Problema Orase Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>

using namespace std;

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

struct oras{
    int d, l;
};

int m, n;
const int N = 50000;
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()
{
    int m, n;
    in >> m >> n;

    for(int i = 0; i < n; i++)
    {
        in >> v[i].d >> v[i].l;
    }

    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;

    return 0;
}