Cod sursa(job #2815699)

Utilizator rapidu36Victor Manz rapidu36 Data 10 decembrie 2021 09:21:17
Problema Orase Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>
#include <algorithm>

using namespace std;

const int N = 1e6;

pair <int, int> v[N];

int distanta(pair <int, int> a, pair <int, int> b)
{
    return b.first - a.first + a.second + b.second;
}

int main()
{
    ifstream in("orase.in");
    ofstream out("orase.out");
    int n, m, dc, dmax;
    in >> m >> n;
    for (int i = 0; i < n; i++)
    {
        in >> v[i].first >> v[i].second;
    }
    sort(v, v + n);
    dmax = dc = distanta(v[0], v[1]);
    for (int i = 2; i < n; i++)
    {
        dc += (v[i].first - v[i-1].first) + (v[i].second - v[i-1].second);
        if (distanta(v[i-1], v[i]) > dc)
        {
            dc = distanta(v[i-1], v[i]);
        }
        if (dc > dmax)
        {
            dmax = dc;
        }
    }
    out << dmax;
    in.close();
    out.close();
    return 0;
}