我Subtask #2错啦,请大佬纠正!!
#include<iostream>
#include<cstdio>
using namespace std;
int n,m,C,i,j;
int f[10000001];
int a[10000001],b[10000001],c[10000001];
int v[10000001],w[10000001];
int main(void)
{
int cnt=0;
scanf("%d%d%d",&n,&m,&C);
for(i=1;i<=n;i++)
{
int z,y,x;
scanf("%d%d%d",&x,&y,&z);
for(int j=1;j<=z;j*=2)
{
v[++cnt]=j*x;
w[cnt]=j*y;
z-=j;
}
if(z)
{
v[++cnt]=z*x;
w[cnt]=z*y;
}
}
for(int x=1;x<=cnt;x++)
for(int y=C;y>=v[x];y--)
f[y]=max(f[y],f[y-v[x]]+w[x]);
for(i=1;i<=m;i++)
{
scanf("%d%d%d",&a[i],&b[i],&c[i]);
for(j=C;j>=0;j--)
for(int k=0;k<=j;k++)
f[j]=max(f[j],f[j-k]+a[i]*k*k+b[i]*k+c[i]);
}
//printf("%d %d\n",t,C);
printf("%d\n",f[C]);
return 0;
}