Cod sursa(job #2585730)

Utilizator SergiuS3003Sergiu Stancu Nicolae SergiuS3003 Data 19 martie 2020 12:49:14
Problema Orase Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f ( "orase.in" );
ofstream g ( "orase.out" );
struct strazi
{
    int d, l;
};
strazi v[50002];
bool cmpx ( strazi a, strazi b )
{
    if ( a.d == b.d )
        return a.l < b.l;

    return a.d < b.d;
}
int main()
{
    int N, M;
    f >> M >> N;

    for ( int i = 1; i <= N; i++ )
        f >> v[i].d >> v[i].l;

    sort ( v + 1, v + N + 1, cmpx );
    strazi ultim = v[1];
    int dmax = 0;

    for ( int i = 2; i <= N; i++ )
    {
        int dist = v[i].d - ultim.d + v[i].l + ultim.l;

        if ( dist > dmax )
            dmax = dist;

        if ( v[i].l > ultim.l + v[i].d - ultim.d )
            ultim = v[i];
    }

    g << dmax;
    return 0;
}