// #include <bits/stdc++.h>
#include <iostream>
#include <cmath>
#include <algorithm>
#include <map>
#include <vector>
#include <iomanip>
#include <string>
#include <queue>
#include <set>
using namespace std;
#define int long long
#define endl "\n";
const int N=2e5+5;
const int M=1e9+7;
void solve()
{
int n,sl,sc,el,ec;
cin >> n >> sl >> sc >> el >> ec;
vector<int>a(n);
for (int i=0;i<n;i++){
cin >> a[i];
}
bool f=1;
for (int i=0;i<n-2;i++){
if (a[i]!=a[i+1]){
f=0;
}
}
// if (f){
int c=abs(sl-el)+abs(sc-ec);
if (el>1){
c=min(c,abs(el-1-sl)+ec+a[0]+1-sc);
}
if (el<n-1){
c=min(c,abs(el+1-sl)+a[0]+1-ec+sc);
}
c=min(c,2*n-sl-el+ec-1);
c=min(c,2*n-sl-el+a[0]+1-ec);
cout << c << endl;
// }
}
signed main()
{
ios::sync_with_stdio(0);//DO NOT USE IN INTERACTIVE
cin.tie(0), cout.tie(0);//DO NOT USE IN INTERACTIVE
cout << fixed<<setprecision(9);
int t=1;
// cin >> t;
for (int _=1;_<=t;_++){
solve();
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |