Pagini recente » Cod sursa (job #1248336) | Cod sursa (job #357489) | Cod sursa (job #1937841) | Cod sursa (job #1395937) | Cod sursa (job #1308455)
#include <stdio.h>
#include <algorithm>
using namespace std;
#define MAX 50000
struct orase
{
int d;
int l;
}v[MAX+1];
bool cmp (orase a, orase b)
{
return a.d<b.d;
}
int main()
{
FILE *fin,*fout;
fin=fopen("orase.in","r");
fout=fopen("orase.out","w");
int n,m,i;
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,cmp);
int j=1;
long long max=v[1].d+v[1].l,tmp=0;
for(i=3;i<=n;i++)
{
tmp=v[i].d-v[j].d + v[i].l+v[j].l;
if(tmp > max)
max=tmp;
if(v[i].l > - v[j].d + v[i].d + v[j].l)
j=i;
}
fprintf(fout,"%d", max);
return 0;
}