Cod sursa(job #1002532)

Utilizator Master011Dragos Martac Master011 Data 28 septembrie 2013 00:54:56
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<cstdio>
#include<algorithm>
#include<vector>

using namespace std;

inline int maxim(int a, int b){
    return a > b ? a : b;
}
struct oras {
    int d, l;
}v[50010];

bool cmp(oras a, oras b){
    return a.d<b.d;
}

int main(){
    FILE *in=fopen("orase.in","r");
    FILE *out=fopen("orase.out","w");

    int n,m;    fscanf(in,"%d%d",&m,&n);
    for(int i = 1 ; i <= n ; i++)
        fscanf(in,"%d%d",&v[i].d,&v[i].l);
    sort(v+1,v+n+1,cmp);
    int j=1,sol=-1;
    for(int i = 2 ; i <= n ; ++i){
        sol=maxim(sol,v[i].l+v[i].d-v[j].d+v[j].l);
        if(v[j].l+v[i].d-v[j].d<v[i].l) j=i;
    }
    fprintf(out,"%d\n",sol);
    return 0;
}