Cod sursa(job #2585723)

Utilizator levladiatorDragutoiu Vlad-Ioan levladiator Data 19 martie 2020 12:46:20
Problema Orase Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <bits/stdc++.h>
#define NMAX 40005
using namespace std;
ifstream fin("orase.in");
ofstream fout("orase.out");

int d,l,n,m,maxim,rasp;
int dist[NMAX];

struct oras
{
    int d,l;
};
oras v[NMAX];

bool cmp(oras i, oras j)
{
    if(i.d!=j.d)return i.d<j.d;
    else return i.l<j.l;
}

int main()
{
    fin>>m>>n;
    for(int i=1;i<=n;i++)
    {
        fin>>v[i].d>>v[i].l;
    }
    sort(v+1,v+n+1,cmp);
    for(int i=2;i<=n;i++)
    {
        dist[i]=v[i].d-v[1].d+v[i].l+v[1].l;
        maxim=max(maxim,dist[i]);
    }
    rasp=max(rasp,maxim);
    for(int i=2;i<=n;i++)
    {
        maxim=maxim-(v[i].d-v[i-1].d)-v[i-1].l+v[i].l;
        rasp=max(rasp,maxim);
    }
    fout<<rasp;
}