Cod sursa(job #479767)

Utilizator SpiderManSimoiu Robert SpiderMan Data 25 august 2010 11:52:09
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
# include <algorithm>
using namespace std;

const char FIN[] = "orase.in", FOU[] = "orase.out" ;
# define D first
# define L second

pair < int , int > V[50005], maxi ;

int M, N, rez ;

int main() {
    freopen ( FIN, "r", stdin ) ;

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

    for ( int i = 1; i <= N; ++i ) {
        scanf ( "%d %d", &V[i].D, &V[i].L ) ;
    }

    sort ( V + 1, V + N + 1 ) ;

    maxi.D = V[1].D, maxi.L = V[1].L;

    for ( int i = 2; i <= N; ++i ) {
        int part = V[i].L + V[i].D + maxi.L - maxi.D ;
        if ( part > rez ) {
             rez = part ;
        }
        if ( V[i].L - V[i].D > maxi.L - maxi.D ) {
             maxi.L = V[i].L, maxi.D = V[i].D ;
        }
    }

    fprintf ( fopen ( FOU, "w" ) , "%d" , rez ) ;

    return 0;
}