제출 #1332791

#제출 시각아이디문제언어결과실행 시간메모리
1332791LuvidiGroup Photo (JOI21_ho_t3)C++20
64 / 100
5094 ms456 KiB
#include <bits/stdc++.h>
using namespace std;

#define ll long long
#define pll pair<ll, ll>
#define pii pair<int, int>
#define fs first
#define sc second
#define pb push_back

void solve() {
    int n;
    cin>>n;
    int a[n+1];
    for(int i=1;i<=n;i++){
        int x;
        cin>>x;
        a[x]=i;
    }
    int dp[n+1];
    dp[0]=0;
    for(int i=1;i<=n;i++){
        dp[i]=1e9;
        int s=0;
        for(int j=i;j;j--){
            for(int k=j+1;k<=i;k++){
                s-=a[k]<a[j];
                s+=a[k]>a[j];
            }
            for(int k=1;k<j;k++){
                s+=a[k]>a[j];
            }
            dp[i]=min(dp[i],s+dp[j-1]);
        }
    }
    cout<<dp[n]<<'\n';
}

int main() {
    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    solve();
}
#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...