Submission #974330

#TimeUsernameProblemLanguageResultExecution timeMemory
974330berrGroup Photo (JOI21_ho_t3)C++17
64 / 100
5008 ms197288 KiB
#include <bits/stdc++.h>
using namespace std; 
#define int long long
const int N=5005;
int ar[N][N], br[N][N], dp[N];
signed main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);
   
    int n; cin >> n;

    vector<int> a(n);

    for(auto &i: a) cin >> i;

    for(int i=1; i<=n; i++) dp[i]=1e9;
    for(int i=0; i<n; i++){
        for(int l=0; l<i; l++){
            ar[a[i]][a[l]]++;
        }

        for(int l=n-1; l>=0; l--){
            ar[a[i]][l]+=ar[a[i]][l+1];
        }

    }
    for(int i=1; i<=n; i++){
        int v=0;
        for(int l=i-1; l>=0; l--){
            int v=0;
            for(int j=i; j>l; j--){
                v+=ar[j][i+1];
                v+=ar[j][l+1]-ar[j][j];
            }
            dp[i]=min(dp[i], dp[l]+v);
        }
       // cout<<"-----"<<dp[i]<<"\n";
    }

    cout<<dp[n];
}

Compilation message (stderr)

Main.cpp: In function 'int main()':
Main.cpp:28:13: warning: unused variable 'v' [-Wunused-variable]
   28 |         int v=0;
      |             ^
#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...