看懂题很重要,,
给一个1~n双倍的排列,问两个人买蛋糕走的最少的步数。
我们把1~n每个数字出现的位置存下来,贪心的让一组尽量靠左,另一组尽量靠右 。
#define int ll
int pos[2][MAXN];
void solve()
{
int n;cin>>n;
rpp(i,n*2)
{
int x;cin>>x;
if(pos[0][x]==0) pos[0][x]=i;
else pos[1][x]=i;
}
int ans=0;
pos[0][0]=1,pos[1][0]=1;
rpp(i,n)
ans+=abs(pos[0][i]-pos[0][i-1])+abs(pos[1][i]-pos[1][i-1]);
cout<<ans<<endl;
}
signed main()
{
solve();
return 0;
}