248412026-02-16 00:18:15999Festés (50 pont)cpp17Elfogadva 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/01ms316 KiB
3Elfogadva2/2314ms48948 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva3/34ms1076 KiB
6Elfogadva2/245ms7152 KiB
7Elfogadva2/2507ms67636 KiB
8Elfogadva2/2501ms67532 KiB
9Elfogadva2/2490ms67636 KiB
10Elfogadva2/2486ms67636 KiB
11Elfogadva2/2503ms67256 KiB
12Elfogadva2/2463ms62004 KiB
13Elfogadva2/2463ms62004 KiB
14Elfogadva2/2162ms30004 KiB
15Elfogadva3/3172ms29968 KiB
16Elfogadva3/3287ms48692 KiB
17Elfogadva2/2289ms48824 KiB
18Elfogadva3/3298ms48800 KiB
19Elfogadva2/2433ms60984 KiB
20Elfogadva2/2453ms64308 KiB
21Elfogadva2/2476ms66868 KiB
22Elfogadva2/2497ms67616 KiB
23Elfogadva2/2500ms67636 KiB
24Elfogadva2/2472ms67584 KiB
25Elfogadva2/2542ms67636 KiB