Cod sursa(job #372697)

Utilizator eudanipEugenie Daniel Posdarascu eudanip Data 11 decembrie 2009 13:10:18
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<stdio.h>
#include<algorithm>
using namespace std;
struct oras
{
    int x,y;
};
oras v[50009];
int n,m,d[50009],maxi;
int cmp (oras a,oras b)
{
    return (a.x<b.x);
}

int main ()
{
    int i,d1,d2;
    freopen("orase.in","r",stdin);
    freopen("orase.out","w",stdout);
    scanf("%d%d",&m,&n);
    for(i=1;i<=n;i++)
        scanf("%d%d",&v[i].x,&v[i].y);
    sort(v+1,v+n+1,cmp);
    d[1]=0;
    for(i=2;i<=n;i++)
    {
        d1=d[i-1]-v[i-1].y+v[i].x-v[i-1].x+v[i].y;
        d2=v[i-1].y+v[i].x-v[i-1].x+v[i].y;
        d[i]=max(d1,d2);
        if(maxi<d[i])
            maxi=d[i];
    }
    printf("%d\n",maxi);
    return 0;
}