Pagini recente » Cod sursa (job #2873307) | Cod sursa (job #3176463) | Cod sursa (job #1003263)
#include <stdio.h>
#include <algorithm>
using namespace std;
struct strada
{
int L;
int D;
};
const int N=50000;
strada v[N];
bool cmp(strada x, strada y)
{
if(x.D<y.D) return 1;
return 0;
}
int main()
{
FILE *in, *out;
in=fopen("orase.in","r");
out=fopen("orase.out","w");
int n,m,i,pmax=0,dmax=0;
fscanf(in,"%d%d",&m,&n);
for(i=0;i<n;i++)
fscanf(in,"%d%d",&v[i].D,&v[i].L);
sort(v,v+n,cmp);
//for(i=0;i<n;i++)
//fprintf(out,"%d %d\n",v[i].D,v[i].L);
pmax=0; dmax=v[i].D;
for(i=1;i<n;i++)
{
if(dmax < v[i].L + v[i].D - v[pmax].D + v[pmax].L) dmax = v[i].L + v[i].D - v[pmax].D + v[pmax].L;
if(v[i].D - v[pmax].D + v[pmax].L < v[i].L) pmax=i;
}
fprintf(out,"%d",dmax);
return 0;
}