Pagini recente » Cod sursa (job #2325311) | Cod sursa (job #1429051) | Cod sursa (job #2700579) | Cod sursa (job #1969535) | Cod sursa (job #186012)
Cod sursa(job #186012)
// Orase .infoarena
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("orase.in");
ofstream fout("orase.out");
#define NMAX 50004
struct drum
{
int D;
int L;
};
int sortare(drum a, drum b)
{
return a.D<b.D;
}
int main()
{
//Constante
drum A[NMAX],maxc;
int n,m,max=0;
//Variabile
int i;
fin>>m>>n;
for ( i = 1; i <= n ; i++)
{
fin>>A[i].D>>A[i].L; //Citim Var
}
sort(A+1,A+n+1,sortare); //Sortam Drumurile dupa distanta fata de origine
maxc.D=A[1].D,maxc.L=A[1].L;
for ( i = 2 ; i <= n ; i++ )
{
if (A[i].D-maxc.D+A[i].L+maxc.L>max) max=A[i].D-maxc.D+A[i].L+maxc.L; //Vedem daca drumul maxim actual e mai bun ca maxul
if (A[i].D-maxc.D+maxc.L<A[i].L) //Actualizare MAX
maxc.D=A[i].D,maxc.L=A[i].L;
}
fout<<max;
fout.close();
return 0;
}