Cod sursa(job #2185776)

Utilizator Marina23Oprea Marina Marina23 Data 24 martie 2018 21:09:17
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <fstream>
#include <algorithm>

using namespace std;

long long int Dist,N,i,Maxi,Raspuns;

struct tip {long long int D;long long int L;} Oras[50005];

bool ordonare(tip X,tip Y)
{
    if(X.D<Y.D) return 1;
    if(X.D==Y.D and X.L<Y.L) return 1;
    return 0;
}

int main()
{
    ifstream fin("orase.in"); ofstream fout("orase.out");

    fin>>Dist>>N;
    for(i=1;i<=N;++i) fin>>Oras[i].D>>Oras[i].L;
    sort(Oras+1,Oras+N+1,ordonare);
    Maxi=Oras[1].L-Oras[1].D;
    for(i=2;i<=N;++i)
    {
        if(Oras[i].L+Oras[i].D+Maxi>Raspuns) Raspuns=Oras[i].L+Oras[i].D+Maxi;
        if(Oras[i].L-Oras[i].D>Maxi) Maxi=Oras[i].L-Oras[i].D;
    }
    fout<<Raspuns;

    fin.close (); fout.close();
    return 0;
}