Cod sursa(job #73994)

Utilizator astronomyAirinei Adrian astronomy Data 23 iulie 2007 12:05:38
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <stdio.h>
#include <vector>
#include <algorithm>
using namespace std;

#define pb push_back
#define mp make_pair
#define MAX(a,b) ((a) > (b) ? (a) : (b))

int N, M, res;
vector< pair<int, int> > A;

int main(void)
{
    freopen("orase.in", "rt", stdin);
    freopen("orase.out", "wt", stdout);
    
    int i, a, b, t;

    scanf("%d %d\n", &M, &N);

    for(i = 1; i <= N; i++)
        scanf("%d %d\n", &a, &b), A.pb( mp(a,b) );
        
    sort(A.begin(), A.end());

    for(t = A[N-1].first+A[N-1].second, i = N-2; i >= 0; i--)
        res = MAX(res, -A[i].first+A[i].second+t),
        t = MAX(t, A[i].first+A[i].second);

    printf("%d\n", res);

    return 0;
}