Cod sursa(job #2117661)

Utilizator CozmaCatalinCozma Catalin CozmaCatalin Data 29 ianuarie 2018 08:52:29
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb

#include <fstream>
#include <algorithm>

using namespace std;

int n, i, m, dist, maxim;
pair<int, int> v[50004];

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

int main(){
    fin>>m>>n;
    for(i=1;i<=n;i++)
        fin>>v[i].first>>v[i].second;
    sort(v+1, v+n+1);
    dist = maxim = v[2].first - v[1].first + v[1].second + v[2].second;
    /// dist = cea mai mare distanta dintre orasul i si un alt oras
    for(i=3;i<=n;i++){
        dist = max(dist - v[i-1].second + v[i].second + v[i].first - v[i-1].first, v[i-1].second + v[i].second + v[i].first - v[i-1].first);
        if(dist > maxim)
            maxim = dist;
    }
    fout<<maxim;
    return 0;
}