Cod sursa(job #2447452)

Utilizator uvIanisUrsu Ianis Vlad uvIanis Data 13 august 2019 13:46:12
Problema Orase Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <algorithm>
#include <fstream>
#include <cmath>
using namespace std;

typedef unsigned long long int64;

int64 N, M;
ifstream fin("orase.in");
ofstream fout("orase.out");

struct Town{
    int64 D, L;

   friend void operator >>(ifstream& in, Town& town){
       in >> town.D >> town.L;
   }

   void operator = (Town const& town){
        L = town.L;
        D = town.D;
   }
};

Town v[50001];

int main()
{
    fin >> M >> N;

    for(int64 i = 1; i <= N; i++)
        fin >> v[i];

    sort(v + 1, v + N + 1, [](Town& A, Town& B){return A.D < B.D;});

    int64 dmax{1LL*0}, d{v[1].L};

    for(int64 i = 2; i <= N; i++){

        d += v[i].D - v[i - 1].D;

        dmax = max(dmax, d + v[i].L);

        d = max(v[i].L, d);
    }

    fout<<dmax;



}