Advertisement
Ankit_132

C

Apr 29th, 2024
678
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.57 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. const int N=3e5+5;
  5. int a[N];
  6. long long f[N][15];
  7.  
  8. int main(){
  9.     int tst;
  10.     cin>>tst;
  11.    
  12.     while(tst--){
  13.         int n, m;
  14.         cin>>n>>m;
  15.        
  16.         for(int i=1;i<=n;i++)       cin>>a[i];
  17.         for(int i=1;i<=m;i++)       f[0][i]=1e18;
  18.        
  19.         for(int i=1;i<=n;i++){
  20.             for(int j=0;j<=m;j++)
  21.                 f[i][j]=f[i-1][j]+a[i];
  22.            
  23.             for(int val=1e9, j=0; j<=min(i-1,m);    j++){
  24.                 val=min(val,a[i-j]);
  25.                 for(int k=j;k<=m;k++)
  26.                     f[i][k]=min(f[i][k],f[i-j-1][k-j]+1ll*(j+1)*val);
  27.             }
  28.         }
  29.         cout<<f[n][min(n-1,m)]<<"\n";
  30.     }
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement