Submission #1195146

#TimeUsernameProblemLanguageResultExecution timeMemory
1195146TurkhuuText editor (CEOI24_editor)C++20
16 / 100
60 ms4164 KiB
#include <bits/stdc++.h>
#define FOR(i, a, b) for (auto i = (a); i <= (b); i++)
#define ROF(i, a, b) for (auto i = (a); i >= (b); i--)
using namespace std;
using ll = long long;
ll dis(ll sx, ll sy, ll tx, ll ty) {
    return abs(sx - tx) + abs(sy - ty);
}
int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int n, sx, sy, tx, ty;
    cin >> n >> sx >> sy >> tx >> ty;
    sy--, ty--;
    vector<int> a(n + 1);
    FOR(i, 1, n) cin >> a[i];
    ll ans = 1e18;
    ans = min(ans, dis(sx, sy, tx, ty));
    if (sx > 1) ans = min(ans, sy + 1 + dis(sx - 1, a[1], tx, ty));
    if (sx < n) ans = min(ans, a[1] - sy + 1 + dis(sx + 1, 0, tx, ty));
    ans = min(ans, n - sx + dis(n, 0, tx, ty));
    ans = min(ans, n - sx + 1 + dis(n - 1, a[1], tx, ty));
    cout << ans << "\n";
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...