제출 #1338349

#제출 시각아이디문제언어결과실행 시간메모리
1338349ggezlolx3dGroup Photo (JOI21_ho_t3)C++20
0 / 100
1 ms344 KiB
#include<bits/stdc++.h>
using namespace std;
int sor(vector<int> &lis){
    bool ch=false;
    if(lis[2]==2){
        ch=true;
    }
    int x=0,c=0;
    while(x<lis.size()){
        /*if(ch){
            for(int J=0;J<lis.size();J++){
                cout << lis[J] << " ";
            }cout << "\n";
        }//*/
        int I;
        for(I=x;I<lis.size();I++){
            if(lis[I]==x){
                break;
            }
        }
        c+=abs(I-x);
        lis.erase(lis.begin()+I,lis.begin()+I+1);
        lis.insert(lis.begin()+x,x);

        x++;
    }
    return c;
}
int main(){
    cin.tie(NULL)->sync_with_stdio(false);
    int n,m,i,j,k,l,nn,mn=INT_MAX,mn1=INT_MAX,mx,jmn,jmn1,jmx;
    cin >> n;
    vector<int> arr(n);
    if(n<=1){
        cout << 0;
        return 0;
    }
    for(i=0;i<n;i++){
        cin >> arr[i];
        if(arr[i]<mn1){

                mn1=arr[i];
                jmn1=i;
        }
        if(arr[i]>mx){
            mx=arr[i];
            jmx=i;
        }

    }mn=INT_MAX;
    for(i=0;i<n;i++){
        vector<int> tum(n);
        map<int,int> bon;

        for(j=0;j<n;j++){
            tum[j]=(arr[j]-mn1+i);
            tum[j]%=n;
            tum[j]=n-1-tum[j];
        }
        mn=min(mn,sor(tum));
    }
    cout << mn;
}
/*
10 8 20 7 21 27 7 13 19 26 6
8 2 8 3 3 5 1 6 7 4
12 23 19 19 15 13 12 10 9 7 5 4 3

6 1 3 4 9 5 7 8 2
6 1 3 4 9 5 8 7 2
6 1 4 3 9 5 8 7 2
1 6 4 3 9 5 8 7 2
1 6 4 9 3 5 8 7 2
1 6 9 4 3 5 8 7 2
*/
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...