Pagini recente » Cod sursa (job #2104329) | Cod sursa (job #886082) | Cod sursa (job #2426935) | Cod sursa (job #1146138) | Cod sursa (job #486268)
Cod sursa(job #486268)
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
const char InFile[]="orase.in";
const char OutFile[]="orase.out";
ifstream fin(InFile);
ofstream fout(OutFile);
struct e
{
e(int d, int l):D(d),L(l){}
int D,L;
};
bool ecmp(e a, e b)
{
if(a.D!=b.D)
{
return a.D<b.D;
}
else
{
return a.L<b.L;
}
}
int n,m,best,sol,d,l;
vector<e> v;
int main()
{
fin>>m>>n;
for(register int i=0;i<n;++i)
{
fin>>d>>l;
v.push_back(e(d,l));
}
fin.close();
sort(v.begin(),v.end(),ecmp);
for(register int i=0;i<n;++i)
{
sol=max(sol,best+v[i].D+v[i].L);
best=max(best,v[i].L-v[i].D);
}
fout<<sol;
fout.close();
return 0;
}