Cod sursa(job #670977)
Utilizator | Bogdan Beldea beldeabogdan | Data | 30 ianuarie 2012 15:00:24 |
---|---|---|---|
Problema | Orase | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.48 kb |
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("orase.in");
ofstream g("orase.out");
struct oras {
int d,l;
};
oras v[50003];
bool cmp(oras a, oras b) {
return (a.d<b.d);
}
int n,i,d,dc,dmax,p,m;
int main() {
f>>m>>n;
for (i=1;i<=n;i++) f>>v[i].d>>v[i].l;
sort(v+1,v+n+1,cmp);
dmax=d=v[1].l+v[2].l+v[2].d-v[1].d;
for (i=3;i<=n;i++) {
d=max(v[i-1].l,d-v[i-1].l)+v[i].l+v[i].d-v[i-1].d;
if (d>dmax) dmax=d;
}
g<<dmax;
return 0;
}