Pagini recente » Cod sursa (job #1746463) | Cod sursa (job #2843689) | Cod sursa (job #1799777) | Cod sursa (job #750476) | Cod sursa (job #368508)
Cod sursa(job #368508)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("orase.in");
ofstream out("orase.out");
struct oras{
int d;
int l;
};
bool comp(const oras &x, const oras &y){
return x.d<y.d;
}
oras v[1<<16];
int main(){
int n,m,i;
in>>m>>n;
for(i=0;i<n;i++){
in>>v[i].d;
in>>v[i].l;
}
sort(v,v+n,comp);
int d=v[0].l+v[1].d,dmax=0;
for(i=1;i<n;i++){
if(d+v[i].l>dmax){
dmax=d+v[i].l;
}
if(d+v[i+1].d-v[i].d>v[i].l+v[i+1].d-v[i].d){
d=d+v[i+1].d-v[i].d;
}else{
d=v[i].l+v[i+1].d-v[i].d;
}
}
out<<dmax;
return 0;
}