Pagini recente » Cod sursa (job #1780003) | Cod sursa (job #2010958) | Cod sursa (job #1433337) | Cod sursa (job #505744) | Cod sursa (job #542579)
Cod sursa(job #542579)
#include<cstdio>
#include<algorithm>
using namespace std;
int m,n,i,sum,maxim;
struct strada
{
int d;
int l;
};
strada x[50010];
bool comp(strada a,strada b)
{
return a.d<=b.d;
}
int main()
{
freopen("orase.in","r",stdin);
freopen("orase.out","w",stdout);
scanf("%d%d",&m,&n);
for(i=1;i<=n;i++)
{
scanf("%d%d",&x[i].d,&x[i].l);
}
sort(x+1,x+n+1,comp);
maxim=sum=x[1].l+x[2].d-x[1].d+x[2].l;
for(i=2;i<=n;i++)
{
if(sum-x[i].l+x[i+1].d-x[i].d+x[i+1].l<x[i].l+x[i+1].d-x[i].d+x[i+1].l)
{
sum=x[i].l+x[i+1].d-x[i].d+x[i+1].l;
}
else
{
sum=sum-x[i].l+x[i+1].d-x[i].d+x[i+1].l;
}
if(maxim<sum)
{
maxim=sum;
}
}
printf("%d",maxim);
return 0;
}