Pagini recente » Cod sursa (job #1826974) | Cod sursa (job #428857) | Cod sursa (job #476674) | Cod sursa (job #2942356) | Cod sursa (job #421828)
Cod sursa(job #421828)
#include<stdio.h>
#include<algorithm>
using namespace std;
int n,i,p,M,m;
FILE *fin,*fout;
/*int fct(int a,int b){
return a>=b;
}
int main(){
fin=fopen("orase.in","r");
fout=fopen("orase.out","w");
fscanf(fin,"%d",&n);
for(i=1;i<=n;i++){
fscanf(fin,"%d",&v[i]);
}
sort(v+1,v+n+1,fct);
for(i=1;i<=n;i++){
fprintf(fout,"%d",v[i]);
}
return 0;}
*/
struct orase{
int l,d;
}v[50001];
int fct(orase a, orase b){
return a.d<=b.d;
}
int main(){
fin=fopen("orase.in","r");
fout=fopen("orase.out","w");
fscanf(fin,"%d %d",&m,&n);
for(i=1;i<=n;i++){
fscanf(fin,"%d %d",&v[i].d,&v[i].l);
}
sort(v+1,v+n+1,fct);
p=1;
for(i=2;i<=n;i++){
if(v[i].d-v[p].d+v[i].l+v[p].l>M){
M=v[i].d-v[p].d+v[i].l+v[p].l;
}
if(v[i].l-v[i].d>v[p].l-v[p].d){p=i;}
}
fprintf(fout,"%d",M);
fclose(fin);
fclose(fout);
return 0;}