Pagini recente » Cod sursa (job #746668) | Cod sursa (job #3181504) | Cod sursa (job #1344766) | Cod sursa (job #2464925) | Cod sursa (job #1181247)
#include<cstdio>
#include<algorithm>
using namespace std;
struct punct
{
int x,y;
} a[205];
int n,r,st[205],dr[205],w[205];
bool cmp(punct A, punct B)
{
return (A.x<B.x);
}
inline int dist(punct A, punct B)
{
int R=A.y+B.y+abs(A.x-B.x);
return R;
}
int main()
{
int i;
freopen("wanted.in","r",stdin);
freopen("wanted.out","w",stdout);
scanf("%d",&n);
for (i=1;i<=n;++i)
scanf("%d %d",&a[i].x,&a[i].y);
sort(a+1,a+n+1,cmp);
for (i=2;i<=n;++i)
st[i]=st[i-1]+dist(a[i-1],a[i]);
for (i=n-1;i>0;--i)
dr[i]=dr[i+1]+dist(a[i+1],a[i]);
for (i=1;i<=n;++i)
w[i]=dist(a[0],a[i]);
r=max(st[1],dr[1])+w[1];
for (i=2;i<=n;++i)
r=min(r,max(st[i],dr[i])+w[i]);
printf("%d\n",r);
return 0;
}