Cod sursa(job #294854)

Utilizator mihai0110Bivol Mihai mihai0110 Data 2 aprilie 2009 20:05:55
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<stdio.h>
#include<algorithm>
#define MAXN 50001

using namespace std;

int i,m,n,maxx,sol;
int ind[MAXN],d[MAXN],l[MAXN];

bool cmp(const int &a, const int &b)
{
    return d[a]<d[b];
}

int main(void)
{
    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[i],&l[i]);
        ind[i]=i;
    }
    sort(ind+1,ind+n+1,cmp);
    maxx=l[ind[1]]-d[ind[1]];
    int cnt;
    for(cnt=2;cnt<=n;cnt++)
    {
        i=ind[cnt];
        if(maxx+l[i]+d[i] > sol)
            sol=maxx+l[i]+d[i];
        if(l[i]-d[i] > maxx)
            maxx=l[i]-d[i];
    }
    printf("%d\n",sol);
    return 0;
}