Pagini recente » Cod sursa (job #1604031) | Cod sursa (job #2461123) | Cod sursa (job #3178547) | Cod sursa (job #71790) | Cod sursa (job #2052433)
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
struct nume{
int di;
int li;
}oras[50000];
bool cmp(nume a, nume b){
if(a.di+a.li>b.di+b.li)
return 0;
return 1;
}
int main()
{
FILE *fin, *fout;
int m,n,maxim,i,val;
fin=fopen("orase.in","r");
fout=fopen("orase.out","w");
fscanf(fin,"%d %d",&m,&n);
for(i=1;i<=n;i++)
fscanf(fin,"%d %d\n",&oras[i].di,&oras[i].li);
sort(oras+1,oras+n+1,cmp);
maxim=val=0;
for(i=1;i<=n-1;i++){
maxim=max(maxim,oras[i].li-oras[i].di);
val=max(val,maxim+oras[n].li+oras[n].di);
}
fprintf(fout,"%d\n",val);
fclose(fin);
fclose(fout);
return 0;
}