Cod sursa(job #868366)

Utilizator addy01adrian dumitrache addy01 Data 30 ianuarie 2013 22:26:56
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <iostream>
#include<algorithm>
#include<cstdio>
using namespace std;

int maxim(int a, int b)
{
    if(a>b)
        return a;
    return b;
}

struct strada
{
    int s,d;
}v[50005];

bool comp(strada a,strada b)
{
    if(a.s<=b.s)
        return 1;
    return 0;
}

int main()
{
    freopen("orase.in","r",stdin);
    freopen("orase.out","w",stdout);
    int m,i,l,r,lmax=0,n;
    cin>>m>>n;
    for(i=1;i<=n;i++)
        cin>>v[i].s>>v[i].d;
    sort(v+1,v+n+1,comp);
    l=v[1].s;
    r=v[1].d;
    for(i=2;i<=n;i++)
    {
        lmax=maxim(lmax,(v[i].d+r+v[i].s-l));
        if(v[i].d>(r+v[i].s-l))
        {
            l=v[i].s;
            r=v[i].d;
        }
    }
    cout<<lmax;
    return 0;
}