Cod sursa(job #831437)

Utilizator mirceadinoMircea Popoveniuc mirceadino Data 8 decembrie 2012 17:12:55
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<cstdio>
#include<algorithm>
#include<vector>
using namespace std;
vector< pair<int,int> > towns;
int n,m,i,j,d,l,sol,a,b,q;
int main()
{
    freopen("orase.in","r",stdin);
    freopen("orase.out","w",stdout);
    scanf("%d %d",&m,&n);
    for(i=1;i<=n;i++)
    {
        scanf("%d %d",&d,&l);
        towns.push_back(make_pair(d,l));
    }
    sort(towns.begin(),towns.end());
    sol=0; q=towns[0].second-towns[0].first;
    for(i=1;i<n;i++)
    {
        d=towns[i].first;
        l=towns[i].second;
        m=q+d+l;
        if(m>sol) sol=m;
        if(l-d>q) q=l-d;
    }
    printf("%d",sol);
    return 0;
}