Cod sursa(job #420451)

Utilizator vladiiIonescu Vlad vladii Data 19 martie 2010 10:30:17
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <iostream>
using namespace std;

int N, M;
struct Nr {
    int d, l;
} P[50001];

int cmp(Nr a, Nr b) {
    if(a.d!=b.d) { return a.d<b.d; }
    return a.l<b.l;
}

int main() {
    FILE *f1=fopen("orase.in", "r"), *f2=fopen("orase.out", "w");
    int i, j, p, q, sol=-1;
    fscanf(f1, "%d%d", &M, &N);
    for(i=1; i<=N; i++) {
         fscanf(f1, "%d%d", &P[i].d, &P[i].l);
    }
    sort(P+1, P+N+1, cmp);
    p=P[1].l-P[1].d;
    for(i=2; i<=N; i++) {
         sol=max(sol, P[i].l+P[i].d+p);
         p=max(p, P[i].l-P[i].d);
    }
    fprintf(f2, "%d\n", sol);
    fclose(f1); fclose(f2);
    return 0;
}