149842025-02-10 18:21:29horkaKörJáték (50 pont)cpp17Accepted 50/5016ms1268 KiB
#include <bits/stdc++.h>
using namespace std;
int n;
vector<int> v;
int tav(int i, int j)
{
    if(i==0 || j==0) return 0;
    return (i<=j?j-i:n+j-i);
}
int main()
{
    cin>>n;
    v.resize(n+1);
    vector<int> pos(n+2);
    for(int i=1; i<=n; i++)
    {
        cin>>v[i];
        pos[v[i]]=i;
    }
    int ossz=0;
    vector<int> ert(n+2);
    for(int i=1; i<n; i++)
    {
        ert[i]=tav(pos[i],pos[i+1]);
        ossz+=ert[i];
    }
    vector<int> ans(n+1, ossz);
    for(int i=1; i<n; i++)
    {
        ans[pos[i]]=ossz-ert[i]-ert[i-1]+tav(pos[i-1],pos[i+1])+tav(pos[n],pos[i]);
    }
    for(int i=1; i<=n; i++)
        cout<<ans[i]<<" ";
    cout<<"\n";
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms316 KiB
2Accepted0/01ms316 KiB
3Accepted0/01ms316 KiB
4Accepted2/21ms548 KiB
5Accepted2/21ms364 KiB
6Accepted2/21ms316 KiB
7Accepted2/21ms316 KiB
8Accepted2/21ms316 KiB
9Accepted2/21ms316 KiB
10Accepted2/21ms316 KiB
11Accepted2/21ms404 KiB
12Accepted2/21ms500 KiB
13Accepted2/21ms316 KiB
14Accepted2/21ms316 KiB
15Accepted2/21ms316 KiB
16Accepted1/11ms316 KiB
17Accepted2/216ms1076 KiB
18Accepted2/216ms1140 KiB
19Accepted2/214ms1032 KiB
20Accepted2/214ms1072 KiB
21Accepted2/214ms888 KiB
22Accepted2/214ms1136 KiB
23Accepted2/214ms1152 KiB
24Accepted2/214ms1088 KiB
25Accepted2/216ms996 KiB
26Accepted2/214ms1148 KiB
27Accepted2/216ms1076 KiB
28Accepted2/216ms1084 KiB
29Accepted1/114ms1268 KiB