@[jhdrgfj](/user/776582) 改了一下
```cpp
#include<bits/stdc++.h>
using namespace std;
struct y{
int c[1005],p;
}y[105];
struct z{
int k,p;
}z[1005];
int s,dp[6][6][6][6][6],n,cnt=1,a[10];
int qb(int a1,int a2,int a3,int a4,int a5){
return a1*z[a[1]].p+a2*z[a[2]].p+a3*z[a[3]].p+a4*z[a[4]].p+a5*z[a[5]].p;
}
int main()
{
cin>>s;
for (int i=1;i<=s;i++){
int x;
cin>>x;
for (int j=1;j<=x;j++){
int c,k;
cin>>c>>k;
y[i].c[c]+=k;
}
int p;
cin>>p;
y[i].p=p;
}
int b;
cin>>b;
for (int i=1;i<=b;i++){
int c,k,p;
cin>>a[i]>>k>>p;
z[a[i]].k=k;
z[a[i]].p=p;
}
for (int i1=0;i1<=z[a[1]].k;i1++){
for (int i2=0;i2<=z[a[2]].k;i2++){
for (int i3=0;i3<=z[a[3]].k;i3++){
for (int i4=0;i4<=z[a[4]].k;i4++){
for (int i5=0;i5<=z[a[5]].k;i5++){
dp[i1][i2][i3][i4][i5]=qb(i1,i2,i3,i4,i5);
for (int j=1;j<=s;j++){
dp[i1][i2][i3][i4][i5]=min(
dp[i1][i2][i3][i4][i5],
dp[i1-y[j].c[a[1]]][i2-y[j].c[a[2]]][i3-y[j].c[a[3]]][i4-y[j].c[a[4]]][i5-y[j].c[a[5]]]+
y[j].p
);
}
}
}
}
}
}
cout<<dp[z[a[1]].k][z[a[2]].k][z[a[3]].k][z[a[4]].k][z[a[5]].k];
}
```
by jhdrgfj @ 2023-05-07 15:35:54