139142025-01-09 10:24:36ercseferencKörJáték (50 pont)cpp17Accepted 50/5014ms1016 KiB
#include <bits/stdc++.h>
using namespace std;
int tav(int a,int b,int n){
    if(b-a>0)return b-a;
    else return b-a+n;}
int main()
{
    int n,x; //ifstream f("szamok.txt"); f>>n;
    cin>>n;
    vector<int>ind(n+1),ert(n+1),sor(n+1),v1; sor[0]=0;
    for(int i=1; i<=n; i++){cin>>x; ind[x]=i; ert[i]=x;}
    int s=0,k;
    for(int i=1; i<n; i++){
        s+=tav(ind[i],ind[i+1],n);}
    for(int i=1; i<=n; i++){
        k=s; int p=ert[i];
        if(p!=n && p!=1){
            k=k+tav(ind[n], ind[p], n)+
            tav(ind[p-1], ind[p+1], n)
            -tav(ind[p], ind[p+1], n)-
            tav(ind[p-1], ind[p], n);}
        else if(ert[i]==1){
            k=k+tav(ind[n], ind[1], n)-tav(ind[1], ind[2], n);}
        cout<<k<<" ";}
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms316 KiB
2Accepted0/01ms316 KiB
3Accepted0/01ms316 KiB
4Accepted2/21ms316 KiB
5Accepted2/21ms316 KiB
6Accepted2/21ms316 KiB
7Accepted2/21ms508 KiB
8Accepted2/21ms316 KiB
9Accepted2/21ms316 KiB
10Accepted2/21ms316 KiB
11Accepted2/21ms316 KiB
12Accepted2/21ms316 KiB
13Accepted2/21ms336 KiB
14Accepted2/21ms316 KiB
15Accepted2/21ms544 KiB
16Accepted1/11ms316 KiB
17Accepted2/214ms1004 KiB
18Accepted2/214ms996 KiB
19Accepted2/214ms748 KiB
20Accepted2/214ms1008 KiB
21Accepted2/214ms820 KiB
22Accepted2/214ms1008 KiB
23Accepted2/214ms836 KiB
24Accepted2/214ms820 KiB
25Accepted2/214ms1016 KiB
26Accepted2/214ms888 KiB
27Accepted2/214ms824 KiB
28Accepted2/214ms820 KiB
29Accepted1/114ms888 KiB