Cod sursa(job #1766642)

Utilizator BogauuuBogdan Ivancu Bogauuu Data 28 septembrie 2016 11:32:12
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
#include <algorithm>
#define x first
#define y second

using namespace std;

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

pair<int, int> v[50010];


//d[i] = distanta maxima de la o casa de inaintea casei i pana la strada principala in
// dreptul casei i

int n, m, i, d[50010], sol;

int main()
{
    fin>>m>>n;
    for (int i=1;i<=n;i++)
        fin>>v[i].x>>v[i].y;

    sort(v+1, v+n+1);

    d[1] = v[1].y;

    for (i=2;i<=n;i++) {
        sol = max(sol, d[i-1] + (v[i].x - v[i-1].x) + v[i].y);
        d[i] = max(d[i-1] + (v[i].x - v[i-1].x), v[i].y);
    }

    fout<<sol;

    return 0;
}