Cod sursa(job #361265)

Utilizator dushmiMihai-Alexandru Dusmanu dushmi Data 4 noiembrie 2009 12:54:06
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<cstdio>
#include<algorithm>
using namespace std;
struct pereche
{
    int a,b;
};
pereche v[50001];
int n,m,i,d,maxim;
bool comp(pereche x, pereche y)
{
    if(x.a<y.a) return true;
    if(x.a>y.a) return false;
    return x.b-y.b;
}
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",&v[i].a,&v[i].b);
    sort(v+1,v+n+1,comp);
    d=v[1].b;
    maxim=0;
    for(i=2;i<=n;++i)
    {
        d+=v[i].a-v[i-1].a;
        if(d+v[i].b>maxim)
            maxim=d+v[i].b;
        if(v[i].b>d)
            d=v[i].b;
    }
    printf("%d",maxim);
    return 0;
}