Cod sursa(job #92915)

Utilizator fireatmyselfBogdan-Alexandru Stoica fireatmyself Data 16 octombrie 2007 21:25:43
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <cstdio>
#include <vector>
#include <algorithm>

using namespace std;

#define NMAX 50050
#define pb push_back
#define mp make_pair
#define d first
#define l second
#define MAX(a,b) (((a)>(b))?(a):(b))

vector<pair<int,int> > V;
int N, M, Dmax;

void read()
{
        int i, x, y;
        freopen("orase.in", "r", stdin);
        scanf("%d%d", &M, &N);
        for (i = 0; i < N; i++)
        {
                scanf("%d%d", &x, &y);
                V.pb(mp(x,y));
        }
}

void solve()
{
        int i, max;

        sort(V.begin(), V.end());

        max = 0;
        for (i = 1; i < N; i++)
        {
                Dmax = MAX(Dmax, V[i].l+V[i].d-V[max].d+V[max].l);
                if (V[i].l > (V[i].d-V[max].d+V[max].l)) max = i;
        }
}

void write()
{
        freopen("orase.out", "w", stdout);
        printf("%d\n", Dmax);
}

int main()
{
        read();
        solve();
        write();
        return 0;
}