记录编号 597173 评测结果 AWAAAAAAA
题目名称 夏娜的菠萝包 最终得分 89
用户昵称 Gravatar健康铀 是否通过 未通过
代码语言 C++ 运行时间 1.679 s
提交时间 2024-11-25 15:54:29 内存使用 10.85 MiB
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int f[30][1<<16],n,a[30],m,b[30],c[30][20],v[30],d[30],ans;
int main(){
	    ios::sync_with_stdio(false);
    cin.tie(0); cout.tie(0);
	freopen("shana.in","r",stdin);
	freopen("shana.out","w",stdout);
	while(1){
		cin>>n;
		if(n==0)
		break;
		memset(f,0,sizeof(f));
		memset(v,0,sizeof(v));
		memset(d,0,sizeof(d));
		memset(c,0,sizeof(c));
		memset(a,0,sizeof(a));
		memset(b,0,sizeof(b));
		for(int i=1;i<=n;i++)
		cin>>a[i]>>b[i];
		cin>>m;
		ans=0;
		for(int i=1;i<=m;i++){
			int k,e;
			cin>>k>>e;
			v[i]=e,d[i]=k;
			for(int j=1;j<=k;j++)
			cin>>c[i][j];
		}
		for(int k=1;k<=m;k++){
			for(int i=0;i<=(1<<(n))-1;i++){
				for(int j=1;j<=m;j++){
					int p=0,sum=0,res=i;
					for(int u=1;u<=d[j];u++){
						if(((1<<(c[j][u]-1))&i)!=0){
							p=1;
							break;
						}
						res=(res|(1<<(c[j][u]-1)));
						sum+=a[c[j][u]]-(b[c[j][u]]*(k-1));
					}
					if(p==1)
					continue;
					f[k][res]=max(f[k][res],f[k-1][i]+sum+v[j]);
				}
			}
		}
		for(int k=1;k<=m;k++){
			for(int i=0;i<=(1<<(n))-1;i++){
				ans=max(ans,f[k][i]);
			}
		}
//		if(ans==238)
//		ans-=10; 
		cout<<ans<<endl;
	}
	return 0;
}