Submission #1315445

#TimeUsernameProblemLanguageResultExecution timeMemory
131544512345678Group Photo (JOI21_ho_t3)C++17
44 / 100
5091 ms444 KiB
#include <bits/stdc++.h>

using namespace std;

const int nx=5e3+5;

int n, dp[nx], a[nx];

int cost(int l, int r)
{
    int cnt=0;
    vector<int> open(n+1);
    for (int i=1; i<=n; i++) if (a[i]>=l) open[i]=1;
    for (int i=r; i>=l; i--)
    {
        int pos;
        for (int j=1; j<=n; j++) if (a[j]==i) pos=j;
        open[pos]=0;
        for (int j=1; j<=pos; j++) if (open[j]) cnt++; 
    }
    return cnt;
}

int main()
{
    cin.tie(NULL)->sync_with_stdio(false);
    cin>>n;
    for (int i=1; i<=n; i++) cin>>a[i];
    for (int i=1; i<=n; i++)
    {
        dp[i]=INT_MAX;
        for (int j=1; j<=i; j++) dp[i]=min(dp[i], dp[j-1]+cost(j, i));
    }
    cout<<dp[n];
}
#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...