139142025-01-09 10:24:36ercseferencKörJáték (50 pont)cpp17Elfogadva 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/01ms316 KiB
3Elfogadva0/01ms316 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms508 KiB
8Elfogadva2/21ms316 KiB
9Elfogadva2/21ms316 KiB
10Elfogadva2/21ms316 KiB
11Elfogadva2/21ms316 KiB
12Elfogadva2/21ms316 KiB
13Elfogadva2/21ms336 KiB
14Elfogadva2/21ms316 KiB
15Elfogadva2/21ms544 KiB
16Elfogadva1/11ms316 KiB
17Elfogadva2/214ms1004 KiB
18Elfogadva2/214ms996 KiB
19Elfogadva2/214ms748 KiB
20Elfogadva2/214ms1008 KiB
21Elfogadva2/214ms820 KiB
22Elfogadva2/214ms1008 KiB
23Elfogadva2/214ms836 KiB
24Elfogadva2/214ms820 KiB
25Elfogadva2/214ms1016 KiB
26Elfogadva2/214ms888 KiB
27Elfogadva2/214ms824 KiB
28Elfogadva2/214ms820 KiB
29Elfogadva1/114ms888 KiB