245082026-02-12 10:26:11akososkaKörJáték (50 pont)cpp17Elfogadva 50/508ms1304 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
	ios::sync_with_stdio(0);
    cin.tie(0);
    int n,a[30002],alap,s,b[30002],c[30002];
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>b[i];
        a[b[i]]=i;
    }
    alap=0;
    c[0]=0;
    c[n]=0;
    for(int i=1;i<n;i++){
        if(a[i+1]>a[i]){
            alap=alap+a[i+1]-a[i];
            c[i]=a[i+1]-a[i];
        }
        else {
            alap=alap+n+a[i+1]-a[i];
            c[i]=n+a[i+1]-a[i];
        }
    }
    for(int q=1;q<=n;q++){
        s=alap-c[b[q]]-c[b[q]-1];
        a[n+1]=a[n];
        if(b[q]!=1){
            if(a[b[q]+1]>a[b[q]-1])s=s+a[b[q]+1]-a[b[q]-1];
            else s=s+n+a[b[q]+1]-a[b[q]-1];
        }
        if(b[q]!=n)if(a[b[q]]>a[n])s=s+a[b[q]]-a[n];
        else s=s+n+a[b[q]]-a[n];
        cout<<s<<" ";
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/01ms316 KiB
3Elfogadva0/01ms316 KiB
4Elfogadva2/21ms500 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/21ms316 KiB
9Elfogadva2/21ms316 KiB
10Elfogadva2/21ms316 KiB
11Elfogadva2/21ms316 KiB
12Elfogadva2/21ms508 KiB
13Elfogadva2/21ms316 KiB
14Elfogadva2/21ms316 KiB
15Elfogadva2/21ms316 KiB
16Elfogadva1/11ms316 KiB
17Elfogadva2/28ms1044 KiB
18Elfogadva2/28ms1152 KiB
19Elfogadva2/27ms920 KiB
20Elfogadva2/27ms848 KiB
21Elfogadva2/27ms1016 KiB
22Elfogadva2/27ms1268 KiB
23Elfogadva2/27ms820 KiB
24Elfogadva2/27ms1076 KiB
25Elfogadva2/28ms920 KiB
26Elfogadva2/28ms844 KiB
27Elfogadva2/28ms860 KiB
28Elfogadva2/28ms1076 KiB
29Elfogadva1/18ms1304 KiB