Pagini recente » Cod sursa (job #1747498) | Cod sursa (job #717319) | Cod sursa (job #284994) | Cod sursa (job #574240) | Cod sursa (job #416258)
Cod sursa(job #416258)
#include <stdio.h>
#include <algorithm>
using namespace std;
struct oras {
int l,d;
} v[50001],aux;
int functie (oras a,oras b){
return a.d<=b.d;
}
int m,n,i,j,maxx,p;
int main() {
FILE *f=fopen("orase.in","r");
FILE *g=fopen("orase.out","w");
fscanf(f,"%d%d",&m,&n);
for(i=1;i<=n;i++)
fscanf(f,"%d%d",&v[i].d,&v[i].l);
sort(v+1,v+n+1,functie);
/*for(i=1;i<=n;i++)
for(j=i+1;j<=n;j++)
if(v[i].d>v[j].d||(v[i].d==v[j].d&&v[i].l>v[j].l)) {
aux=v[i];
v[i]=v[j];
v[j]=aux;
}*/
p=1;maxx=0;
for(i=2;i<=n;i++){
if(maxx<v[i].d-v[p].d+v[i].l+v[p].l)
maxx= 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(g,"%d",maxx);
return 0;
}