Pagini recente » Cod sursa (job #2901582) | Cod sursa (job #2059316) | Cod sursa (job #2561505) | Cod sursa (job #3274631) | Cod sursa (job #991217)
Cod sursa(job #991217)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin ("orase.in");
ofstream fout ("orase.out");
struct orase {
int d ;
int l;
};
int cmp (orase a, orase b) {
return a.d<b.d;
}
int m,n,i;
orase v[50001];
long long maxim, maxt,dn,dt;
int main () {
fin>>m>>n;
for (i=1;i<=n;i++)
fin>>v[i].d>>v[i].l;
sort (v+1,v+n+1,cmp);
dt=v[1].l-v[1].d;
for(i=2;i<=n;i++){
maxim=0;
dn=v[i].l-v[i].d;
if(dn<dt)
maxim=v[i].l+v[i].d+dt;
else{
maxim=v[i].l+v[i].d+dn;
dt=dn;
}if(maxt<maxim)
maxt=maxim;
}
fout<<maxt<<"\n";
return 0;
}