Pagini recente » Cod sursa (job #2108874) | Cod sursa (job #1561154) | Cod sursa (job #2866958) | Cod sursa (job #397835) | Cod sursa (job #1003583)
#include<cstdio>
#include<algorithm>
int dist[3],lung[3];
struct oras{
int d;
int l;
}v[50010];
int minim(oras a,oras b){
int delta1,delta2;
delta1=a.d+a.l;
delta2=b.d+b.l;
if(delta1>=delta2&&a.d<b.d)
return a.l-a.d;
return b.l-b.d;
}
int maxim(oras a,oras b){
int delta1,delta2;
delta1=a.d+a.l;
delta2=b.d+b.l;
if(delta1>=delta2&&a.d>b.d)
return a.d+a.l;
return b.d+b.l;
}
int main(){
int i,q,p,m,n,t,r;
v[5009].d=-2;v[5009].l=-2;
v[5008].d=1000000;v[5008].l=-999999;
freopen("orase.in","r",stdin);
freopen("orase.out","w",stdout);
scanf("%d%d\n",&m,&n);
for(i=1;i<=n;i++){
scanf("%d%d",&v[i].d,&v[i].l);
t=q;r=p;
q=minim(v[5008],v[i]);
if(t!=q){
v[5008].d=v[i].d;
v[5008].l=v[i].l;
}
p=maxim(v[5009],v[i]);
if(r!=p){
v[5009].d=v[i].d;
v[5009].l=v[i].l;
}
}
printf("%d",q+p);
return 0;
}