Cod sursa(job #2202701)

Utilizator IustinPetrariuIustinian Petrariu IustinPetrariu Data 9 mai 2018 17:45:14
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#define NMAX 500001

using namespace std;
ifstream fin("orase.in");
ofstream fout("orase.out");
struct date
{
    int D,L;
}oras[NMAX];
int M,Distante,maxim,Answer;
int compara(const date &a, const date &b)
{
    if(a.D < b.D) return 1;
    if(a.D == b.D && a.L < b.L) return 1;
    return 0;

}
int main()
{
    fin>>M>>Distante;

    for(int i = 1; i <= Distante ; i++)
    {
        fin>>oras[i].D>>oras[i].L;
    }
    sort(oras+1,oras+Distante+1,compara);
     maxim=oras[1].L-oras[1].D;
    for(int i =2 ; i <= Distante ; i++)
    {
        if(oras[i].D+oras[i].L+maxim > Answer) Answer=oras[i].D+oras[i].L+maxim;
            if(oras[i].L-oras[i].D > maxim) maxim=oras[i].L-oras[i].D;
    }
    fout<<Answer;
    return 0;
}