249002026-02-16 17:02:27GergoszaboRendező robot (80 pont)cpp17Elfogadva 80/8076ms6448 KiB
#include <iostream>
#include <bits/stdc++.h>
using ll = long long;
using namespace std;

const int INF = 1e9;

ll keplet(ll a, ll b){
    if (a > b) return min(a, b)*2 + (a-b)*2-1;
    return min(a, b)*2 + abs(a-b)*2;
}

int main()
{
    int n; cin >> n;
    vector<ll> v(n+1, 0);
    for (int i = 1; i <= n; i++){
        cin >> v[i];
    }
    vector<ll> pos(n+1, 0);
    for (int i = 1; i <= n; i++){
        pos[v[i]] = i;
    }
    vector<ll> last(n+1, 0);
    last[n] = n;
    for (int i = n-1; i >= 1; i--){
        if (pos[i] < pos[i+1]) last[i] = last[i+1];
        else last[i] = i;
    }
    ll ans = INF;
    for (int i = 1; i <= n; i++){
        ll a = v[i]-1;
        ll b = n - last[v[i]];
        if (keplet(a, b) < ans) ans = keplet(a, b);
    }
    cout << ans;
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base80/80
1Elfogadva0/01ms316 KiB
2Elfogadva0/01ms316 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva3/31ms316 KiB
5Elfogadva3/32ms316 KiB
6Elfogadva2/23ms316 KiB
7Elfogadva2/22ms316 KiB
8Elfogadva2/22ms316 KiB
9Elfogadva2/22ms316 KiB
10Elfogadva2/22ms340 KiB
11Elfogadva2/22ms316 KiB
12Elfogadva2/21ms316 KiB
13Elfogadva2/22ms500 KiB
14Elfogadva2/21ms316 KiB
15Elfogadva2/21ms316 KiB
16Elfogadva2/21ms316 KiB
17Elfogadva2/22ms316 KiB
18Elfogadva4/475ms6296 KiB
19Elfogadva4/476ms6312 KiB
20Elfogadva4/475ms6312 KiB
21Elfogadva4/474ms6312 KiB
22Elfogadva4/474ms6188 KiB
23Elfogadva4/472ms6196 KiB
24Elfogadva4/475ms6308 KiB
25Elfogadva4/475ms6200 KiB
26Elfogadva4/474ms6200 KiB
27Elfogadva4/476ms6196 KiB
28Elfogadva4/475ms6448 KiB
29Elfogadva4/472ms6316 KiB