Pagini recente » Cod sursa (job #2569203) | Cod sursa (job #1500601) | Cod sursa (job #2118183) | Cod sursa (job #2349561) | Cod sursa (job #2185776)
#include <fstream>
#include <algorithm>
using namespace std;
long long int Dist,N,i,Maxi,Raspuns;
struct tip {long long int D;long long int L;} Oras[50005];
bool ordonare(tip X,tip Y)
{
if(X.D<Y.D) return 1;
if(X.D==Y.D and X.L<Y.L) return 1;
return 0;
}
int main()
{
ifstream fin("orase.in"); ofstream fout("orase.out");
fin>>Dist>>N;
for(i=1;i<=N;++i) fin>>Oras[i].D>>Oras[i].L;
sort(Oras+1,Oras+N+1,ordonare);
Maxi=Oras[1].L-Oras[1].D;
for(i=2;i<=N;++i)
{
if(Oras[i].L+Oras[i].D+Maxi>Raspuns) Raspuns=Oras[i].L+Oras[i].D+Maxi;
if(Oras[i].L-Oras[i].D>Maxi) Maxi=Oras[i].L-Oras[i].D;
}
fout<<Raspuns;
fin.close (); fout.close();
return 0;
}