Pagini recente » Cod sursa (job #1946645) | Cod sursa (job #1343048) | Cod sursa (job #1876064) | Cod sursa (job #1454147) | Cod sursa (job #2334490)
#include <fstream>
using namespace std;
ifstream fin("orase.in");
ofstream fout("orase.out");
struct oras{
int d, l;
}v[500005], maxi, maxi2;
int n, m, imax;
int main()
{
fin>>m>>n;
for(int i=1;i<=n;++i)
{
fin>>v[i].d>>v[i].l;
if(v[i].d+v[i].l>maxi.d+maxi.l) maxi=v[i], imax=i;
}
maxi2=v[1];
for(int i=2;i<imax;++i)
if(v[i].l+maxi.l+maxi.d-v[i].d>maxi2.l+maxi.l+maxi.d-maxi2.d) maxi2=v[i];
for(int i=imax+1;i<=n;++i)
if(v[i].l+maxi.l+maxi.d-v[i].d>maxi2.l+maxi.l-maxi.d+maxi2.d) maxi2=v[i];
//fout<<maxi2.d<<" "<<maxi2.l<<" "<<maxi.d<<" "<<maxi.l<<"\n";
if(maxi2.d>maxi.d) fout<<maxi2.l+maxi.l-maxi.d+maxi2.d;
else fout<<maxi2.l+maxi.l+maxi.d-maxi2.d;
fout<<"\n";
return 0;
}