Cod sursa(job #431888)

Utilizator dead_knightTitei Paul Adrian dead_knight Data 1 aprilie 2010 15:58:44
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include<cstdio>
#include<fstream>
#include<vector>
#include<algorithm>
#define pb push_back
#define INFI 2100000000
#define maxm 1000002
#define maxn 50002
using namespace std;
struct cord{
    int i, j;
    friend bool operator < (const cord &x, const cord &y){
        return x.i<y.i;}
} a[maxn];

int n, m, rez, Max;

void citire()
{
    int i;
    ifstream fin("orase.in");
    fin>>m>>n;
    for(i=1;i<=n;i++)
    {
        int x, y;
        fin>>x>>y;
        a[i].i=x;
        a[i].j=y;
    }
    sort(a+1, a+n+1);
}

void solve()
{
    int i;
    Max=a[1].j-a[1].i;
    for(i=2;i<=n;i++)
    {
        if(a[i].i+a[i].j+Max>rez)
            rez=a[i].i+a[i].j+Max;
        if(a[i].j-a[i].i>Max)
            Max=a[i].j-a[i].i;
    }
}

int main()
{
    FILE *F=fopen("orase.out", "w");
    citire();
    solve();
    fprintf(F, "%d\n", rez);
    return 0;
}