139102025-01-09 10:05:46ercseferencKörJáték (50 pont)cpp17Időlimit túllépés 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base25/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/01ms508 KiB
3Elfogadva0/01ms316 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms376 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/21ms532 KiB
9Elfogadva2/21ms316 KiB
10Elfogadva2/21ms316 KiB
11Elfogadva2/21ms316 KiB
12Elfogadva2/21ms316 KiB
13Elfogadva2/21ms500 KiB
14Elfogadva2/21ms316 KiB
15Elfogadva2/21ms316 KiB
16Elfogadva1/11ms316 KiB
17Időlimit túllépés0/2597ms1328 KiB
18Időlimit túllépés0/2596ms1308 KiB
19Időlimit túllépés0/2597ms1324 KiB
20Időlimit túllépés0/2597ms1332 KiB
21Időlimit túllépés0/2580ms1308 KiB
22Időlimit túllépés0/2580ms1328 KiB
23Időlimit túllépés0/2597ms1316 KiB
24Időlimit túllépés0/2597ms1320 KiB
25Időlimit túllépés0/2570ms1352 KiB
26Időlimit túllépés0/2570ms1336 KiB
27Időlimit túllépés0/2596ms1344 KiB
28Időlimit túllépés0/2597ms1336 KiB
29Időlimit túllépés0/1586ms1340 KiB