Submission #6136775


Source Code Expand

#include<bits/stdc++.h>
using namespace std;
using Int = long long;
template<typename T1,typename T2> inline void chmin(T1 &a,T2 b){if(a>b) a=b;}
template<typename T1,typename T2> inline void chmax(T1 &a,T2 b){if(a<b) a=b;}

//INSERT ABOVE HERE
const int MAX = 4040;
using ll = long long;
ll dp[MAX][MAX];
int ar[MAX][MAX];
signed main(){
  int n;
  cin>>n;
  vector<ll> ws(n);
  for(int i=0;i<n;i++) cin>>ws[i];

  vector<ll> sm(n+1,0);
  for(int i=0;i<n;i++) sm[i+1]=sm[i]+ws[i];

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

  for(int w=1;w<n;w++){
    for(int i=0;i+w<n;i++){
      int j=i+w;
      int p=ar[i][j-1];
      int q=ar[i+1][j];
      dp[i][j]=dp[i][p]+dp[p+1][j];
      ar[i][j]=p;
      for(int k=p;k<=q;k++){
        ll res=dp[i][k]+dp[k+1][j];
        if(res<dp[i][j]){
          dp[i][j]=res;
          ar[i][j]=k;
        }
      }
      dp[i][j]+=sm[j+1]-sm[i];
    }
  }

  cout<<dp[0][n-1]<<endl;
  return 0;
}

Submission Info

Submission Time
Task J - 刺身
User beet
Language C++14 (GCC 5.4.1)
Score 100
Code Size 998 Byte
Status AC
Exec Time 294 ms
Memory 190720 KB

Judge Result

Set Name Partial 1 All
Score / Max Score 3 / 3 97 / 97
Status
AC × 23
AC × 44
Set Name Test Cases
Partial 1 00_Teuchi_00, 00_Teuchi_01, 00_alternate_0, 00_alternate_1, 00_alternate_2, 00_alternate_3, 00_alternate_4, 00_alternate_5, 00_random_0, 00_random_1, 00_random_2, 00_random_3, 00_random_4, 00_random_5, 00_random_6, 00_random_7, 00_random_8, 00_sample_00, 00_sample_01, 00_sample_02, 00_sorted_0, 00_sorted_1, 00_sorted_2
All 00_Teuchi_00, 00_Teuchi_01, 00_alternate_0, 00_alternate_1, 00_alternate_2, 00_alternate_3, 00_alternate_4, 00_alternate_5, 00_random_0, 00_random_1, 00_random_2, 00_random_3, 00_random_4, 00_random_5, 00_random_6, 00_random_7, 00_random_8, 00_sample_00, 00_sample_01, 00_sample_02, 00_sorted_0, 00_sorted_1, 00_sorted_2, 20_random_11, 20_random_12, 40_alternate_6, 40_alternate_7, 40_alternate_8, 40_alternate_9, 40_random_10, 40_random_13, 40_random_14, 40_random_15, 40_random_16, 40_random_17, 40_random_18, 40_random_19, 40_random_9, 40_sorted_3, 40_sorted_4, 40_sorted_5, 99_Teuchi_00, 99_Teuchi_01, 99_Teuchi_02
Case Name Status Exec Time Memory
00_Teuchi_00 AC 2 ms 4736 KB
00_Teuchi_01 AC 2 ms 4736 KB
00_alternate_0 AC 2 ms 2304 KB
00_alternate_1 AC 2 ms 2304 KB
00_alternate_2 AC 2 ms 2304 KB
00_alternate_3 AC 2 ms 4736 KB
00_alternate_4 AC 2 ms 4736 KB
00_alternate_5 AC 2 ms 4736 KB
00_random_0 AC 2 ms 2304 KB
00_random_1 AC 2 ms 2304 KB
00_random_2 AC 2 ms 2304 KB
00_random_3 AC 2 ms 2432 KB
00_random_4 AC 2 ms 2560 KB
00_random_5 AC 2 ms 4608 KB
00_random_6 AC 2 ms 2304 KB
00_random_7 AC 2 ms 2304 KB
00_random_8 AC 1 ms 2304 KB
00_sample_00 AC 1 ms 2304 KB
00_sample_01 AC 1 ms 2304 KB
00_sample_02 AC 1 ms 2304 KB
00_sorted_0 AC 2 ms 4736 KB
00_sorted_1 AC 2 ms 4736 KB
00_sorted_2 AC 2 ms 4736 KB
20_random_11 AC 78 ms 98048 KB
20_random_12 AC 78 ms 98048 KB
40_alternate_6 AC 257 ms 190720 KB
40_alternate_7 AC 256 ms 190720 KB
40_alternate_8 AC 273 ms 190720 KB
40_alternate_9 AC 275 ms 190720 KB
40_random_10 AC 268 ms 190720 KB
40_random_13 AC 260 ms 190720 KB
40_random_14 AC 261 ms 190720 KB
40_random_15 AC 265 ms 190720 KB
40_random_16 AC 264 ms 190720 KB
40_random_17 AC 258 ms 190720 KB
40_random_18 AC 256 ms 190720 KB
40_random_19 AC 256 ms 190720 KB
40_random_9 AC 268 ms 190720 KB
40_sorted_3 AC 268 ms 190720 KB
40_sorted_4 AC 269 ms 190720 KB
40_sorted_5 AC 264 ms 190720 KB
99_Teuchi_00 AC 256 ms 190720 KB
99_Teuchi_01 AC 294 ms 190720 KB
99_Teuchi_02 AC 283 ms 190720 KB