248412026-02-16 00:18:15999Festés (50 pont)cpp17Accepted 50/50542ms67636 KiB
// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
#define int long long
using namespace std;

signed main() {
    int n,m;cin>>n>>m;
    vector<int> Ro(n+1);
    for(int i = 1;i<=n;i++){
        cin>>Ro[i];
    }
    vector<vector<vector<int>>> Co(m+1,vector<vector<int>>(n+1,vector<int>(n+1)));
    for(int i = 1;i<=m;i++){
        for(int j = 1;j<=n;j++){
            for(int k = j;k<=n;k++){
                cin>>Co[i][j][k];
            }
        }
    }
    vector<vector<int>> Codp(m+1,vector<int>(1<<(n+1),1e17));
    for(int i = 1;i<=m;i++){
        for(int BM=0;BM<(1<<n);BM++){
            int sum=0;
            for(int I = 0;I<n;I++){
                if(BM&(1<<I))sum+=Ro[I+1];
            }
            int biztkell=((1<<(n))-1)^BM;
            vector<int> tempdp(n+1,(int)(1e17));
            tempdp[0]=0;
            for(int I = 1;I<=n;I++){
                if((biztkell&(1<<(I-1)))==0){
                    tempdp[I]=tempdp[I-1];
                }
                int jo=1e17;
                for(int j = I;j>=1;j--){
                    jo=min(jo,tempdp[j-1]);
                    tempdp[I]=min(tempdp[I],Co[i][j][I]+jo);
                }
            }
            Codp[i][BM]=tempdp[n]+(i==m?sum:0);
        }
    }
    for(int i = 1;i<=m;i++){
        for(int BM=0;BM<(1<<n);BM++){
            Codp[i][BM]+=(i>1?Codp[i-1][BM]:0LL);
        }
    }
    int mn=(int)(1e17);
    for(int i : Codp[m])mn=min(mn,i);
    cout<<mn<<endl;
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms316 KiB
2Accepted0/01ms316 KiB
3Accepted2/2314ms48948 KiB
4Accepted2/21ms316 KiB
5Accepted3/34ms1076 KiB
6Accepted2/245ms7152 KiB
7Accepted2/2507ms67636 KiB
8Accepted2/2501ms67532 KiB
9Accepted2/2490ms67636 KiB
10Accepted2/2486ms67636 KiB
11Accepted2/2503ms67256 KiB
12Accepted2/2463ms62004 KiB
13Accepted2/2463ms62004 KiB
14Accepted2/2162ms30004 KiB
15Accepted3/3172ms29968 KiB
16Accepted3/3287ms48692 KiB
17Accepted2/2289ms48824 KiB
18Accepted3/3298ms48800 KiB
19Accepted2/2433ms60984 KiB
20Accepted2/2453ms64308 KiB
21Accepted2/2476ms66868 KiB
22Accepted2/2497ms67616 KiB
23Accepted2/2500ms67636 KiB
24Accepted2/2472ms67584 KiB
25Accepted2/2542ms67636 KiB