Cod sursa(job #830306)

Utilizator mirceadinoMircea Popoveniuc mirceadino Data 6 decembrie 2012 17:01:18
Problema Orase Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<cstdio>
#include<algorithm>
#include<vector>
using namespace std;
vector< pair<int,int> > towns;
int n,m,i,j,d,l,sol,x,y,a,b,dx,dy;
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; x=0; y=0;
    for(i=1;i<n;i++)
    {
        d=towns[i].first;
        l=towns[i].second;
        a=towns[x].first;
        b=towns[x].second;
        dx=(d-a)+l+b;
        a=towns[y].first;
        b=towns[y].second;
        dy=(d-a)+l+b;
        if(dx<dy) {swap(dx,dy); swap(x,y);}
        if(sol<dx) {sol=dx; x=i;}
    }
    printf("%d",sol);
    return 0;
}