Pagini recente » Cod sursa (job #1392118) | Cod sursa (job #2636340) | Cod sursa (job #2419323) | Cod sursa (job #1929799) | Cod sursa (job #1492930)
#include <fstream>
#include <algorithm>
#define nMax 201
using namespace std;
ifstream fin("wanted.in");
ofstream fout("wanted.out");
int i, n, Max;
struct Streets
{
int x;
int y;
}v[nMax];
int cmp(Streets o, Streets p)
{
return o.x<p.x;
}
void Binara(int st, int dr, int poz, int dist)
{
if(st<=dr)
{
int mijl=st+(dr-st)/2;
if(poz>v[mijl].x)
dist+=(poz-v[mijl].x);
else
dist+=(v[mijl].x-poz);
dist+=v[mijl].y;
if(st<dr)
dist+=v[mijl].y;
if(st<=dr)
{
Binara(st, mijl-1, v[mijl].x, dist);
Binara(mijl+1, dr, v[mijl].x, dist);
}
Max=max(Max, dist);
}
}
int main()
{
fin>>n;
for(i=1;i<=n;i++)
fin>>v[i].x>>v[i].y;
sort(v+1, v+n+1, cmp);
Binara(1, n, 0, 0);
fout<<Max;
return 0;
}