제출 #1173477

#제출 시각아이디문제언어결과실행 시간메모리
1173477053thousandGroup Photo (JOI21_ho_t3)C++20
12 / 100
5095 ms412 KiB
#include<bits/stdc++.h>
using namespace std;
    int a,b,c,d,e,f,ans=1e9;
    stack<int>s,ss;
    vector<int>v,w;
void br(int x){
    for(int i=x;i<a;i++){
        for(int j=i;j>=x;j--){
            s.push(j);
        }
        br(i+1);
        for(int j=i;j>=x;j--){
            s.pop();
        }
    }
    for(int i=a;i>=x;i--){
        s.push(i);
    }
    ss=s;
    w=v;
    int tempp=0,siz=ss.size();
    while(!ss.empty()){
        int temp=ss.top();
        // cout<<temp<<' ';
        ss.pop();
        siz--;
        for(int i=0;i<siz;i++){
            if(w[i]==temp){
              swap(w[i],w[i+1]); 
              tempp++; 
            }
        }
    }
    // cout<<'|';
    // for(int i=0;i<a;i++){
    //     cout<<w[i]<<' ';
    // }
    // cout<<'|';
    // cout<<tempp;
    // cout<<endl;
    ans=min(ans,tempp);
    for(int i=a;i>=x;i--){
        s.pop();
    }
}
int main(){
    cin>>a;
    for(int i=0;i<a;i++){
        cin>>b;
        v.push_back(b);
    }
    br(1);
    cout<<ans;
}
#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...