Pagini recente » Cod sursa (job #764243) | Cod sursa (job #790953) | Borderou de evaluare (job #3303951) | Cod sursa (job #1362969) | Cod sursa (job #3324925)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("orase.in");
ofstream fout("orase.out");
int m,n;
struct strada{
int d,l;
}A[50001];
bool ord(strada a, strada b)
{
if(a.d<b.d)
return true;
if(a.d==b.d && a.l>b.l)
return true;
return false;
}
int main()
{
fin>>m>>n;
for(int i=1;i<=n;i++)
fin>>A[i].d>>A[i].l;
sort(A+1,A+n+1,ord);
int distMax=0;
int drumMax=A[1].l;
int poz=1;
for(int i=2;i<=n;i++)
{
//fout<< A[poz].l+A[i].l+(A[i].d-A[poz].d)<<" ";
if(A[poz].l+A[i].l+(A[i].d-A[poz].d)>distMax)
{
distMax=A[poz].l+A[i].l+(A[i].d-A[poz].d);
}
if(A[i].l-A[i].d>A[poz].l-A[poz].d)
poz=i;
}
fout<<distMax;
return 0;
}