Pagini recente » Cod sursa (job #2472021) | Cod sursa (job #1058218) | Cod sursa (job #1042950) | Cod sursa (job #2733766) | Cod sursa (job #446771)
Cod sursa(job #446771)
#include<fstream>
using namespace std;
ifstream in("orase.in");
ofstream out("orase.out");
struct pozitie//definesc un nou tip de date; fiecare var de acest tip va retine cate 2 int-uri
{
int x,y;
};
pozitie v[50001];
bool compar(pozitie a,pozitie b)//returneaza true atunci cand a e bine pozitionat fata de b
{
if(a.x < b.x)
return true;
return false;
}
int main()
{
long n,m,suma=0,smax=0,i,j;
pozitie departe;
in>>m>>n;
for(i=1;i<=n;i++)
in>>v[i].x>>v[i].y;
sort(v+1,v+n+1,compar);//primul param=adresa primei comp, al doilea e adresa de dupa ultima, al treilea e f de comp
departe = v[1];
for(i=2 ; i<=n ; ++i)
{
//verific daca distanta intre v[i] si departe e mai mare ca smax
//verific daca v[i] poate deveni departe
suma=0;
suma=v[i].y+departe.y+(v[i].x-departe.x);
if(suma>smax)
smax=suma;
if(v[i].y>departe.y+v[i].x-departe.x)
departe=v[i];
}
out<<smax<<'\n';
return 0;
}