Cod sursa(job #330653)

Utilizator doru.nituNitu Doru Constantin doru.nitu Data 10 iulie 2009 23:09:34
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include<stdio.h>
#include<algorithm>
using namespace std;

int i,j,n,m,maxi;

struct nod
{ 
       int d,l;
} a[50009],mx;

bool comp(nod a,nod b)
{ 
     if(a.d!=b.d) return a.d<b.d;
     else return a.l<b.l;
}     

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",&a[i].d,&a[i].l);
    
    sort(a+1,a+n+1,comp);
    mx.d=0;
    mx.l=0;
    for(i=1;i<=n;i++) { if((a[i].d-mx.d)+a[i].l+mx.l>maxi) maxi=(a[i].d-mx.d)+a[i].l+mx.l;
                        if((a[i+1].d-a[i].d)+a[i].l>(a[i+1].d-mx.d)+mx.l) mx=a[i];
                      }
    printf("%d\n",maxi);
    
    fclose(stdin);
    fclose(stdout);
    return 0;
}