Pagini recente » Cod sursa (job #551852) | Cod sursa (job #1586771) | Cod sursa (job #1893349) | Cod sursa (job #2365766) | Cod sursa (job #74239)
Cod sursa(job #74239)
#include<stdio.h>
#include<stdlib.h>
int n, i, ind, smax, s, m;
struct ors{
int d, l;
};
ors v[100005];
int comp(const void*a, const void*b){
ors x = *(ors*)a, y = *(ors*)b;
if (x.d < y.d) return -1;
if (x.d > y.d) return 1;
return 0;
}
int main()
{
freopen("orase.in","r",stdin);
freopen("orase.out","w",stdout);
scanf("%d%d", &m, &n);
if (n==2)
return 0;
for (i=1; i<=n; i++)
scanf("%d%d", &v[i].d, &v[i].l);
qsort(v, n+1, sizeof(v[0]), comp);
smax = 0;
ind = 0;
for (i=2; i<=n; i++){
s = v[i].d+v[i].l;
if (v[i-1].l-v[i-1].d > ind)
ind = v[i-1].l-v[i-1].d;
if (s+ind > smax)
smax = s+ind;
}
printf("%d\n", smax);
fclose(stdin);
fclose(stdout);
return 0;
}