139102025-01-09 10:05:46ercseferencKörJáték (50 pont)cpp17Time limit exceeded 25/50597ms1352 KiB
#include <bits/stdc++.h>
using namespace std;
int tav(int a, int b, int n, vector<int>v){
    if(v[b]-v[a]>0)return v[b]-v[a];
    else return v[b]-v[a]+n;}
int main()
{
    int n,x; 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(i, i+1, n, ind);}
    for(int i=1; i<=n; i++){
        k=s;
        if(ert[i]!=n && ert[i]!=1){
            k=k+tav(n, ert[i], n, ind)+
            tav(ert[i]-1, ert[i]+1, n, ind)
            -tav(ert[i], ert[i]+1, n, ind)-
            tav(ert[i]-1, ert[i], n, ind);}
        else if(ert[i]==1){
            k=k+tav(n, 1, n, ind)-tav(1, 2, n, ind);}
        cout<<k<<" ";}
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base25/50
1Accepted0/01ms316 KiB
2Accepted0/01ms508 KiB
3Accepted0/01ms316 KiB
4Accepted2/21ms316 KiB
5Accepted2/21ms316 KiB
6Accepted2/21ms376 KiB
7Accepted2/21ms316 KiB
8Accepted2/21ms532 KiB
9Accepted2/21ms316 KiB
10Accepted2/21ms316 KiB
11Accepted2/21ms316 KiB
12Accepted2/21ms316 KiB
13Accepted2/21ms500 KiB
14Accepted2/21ms316 KiB
15Accepted2/21ms316 KiB
16Accepted1/11ms316 KiB
17Time limit exceeded0/2597ms1328 KiB
18Time limit exceeded0/2596ms1308 KiB
19Time limit exceeded0/2597ms1324 KiB
20Time limit exceeded0/2597ms1332 KiB
21Time limit exceeded0/2580ms1308 KiB
22Time limit exceeded0/2580ms1328 KiB
23Time limit exceeded0/2597ms1316 KiB
24Time limit exceeded0/2597ms1320 KiB
25Time limit exceeded0/2570ms1352 KiB
26Time limit exceeded0/2570ms1336 KiB
27Time limit exceeded0/2596ms1344 KiB
28Time limit exceeded0/2597ms1336 KiB
29Time limit exceeded0/1586ms1340 KiB