题本身没有任何难度QAQ但是。。。多组数据一定要换行!!!
一定要换行!!!!!!ans
#include<stdio.h>
#include<string.h>
int p[1005][1005];
double ans[1005];
int a;
double b,max;
double pd[1005];
int main()
{
int n,m;
while(scanf("%d%d",&n,&m)!=EOF){
memset(p,0,sizeof(p));
memset(pd,0,sizeof(pd));
memset(ans,0,sizeof(ans));
max=0;
for(int i=1;i<=n;i++){
scanf("%d%d",&p[i][1],&p[i][2]);
for(int j=1;j<=p[i][2];j++)
scanf("%d",&p[i][2+j]);
}
for(int i=1;i<=m;i++)
{
scanf("%d%lf",&a,&b);
if(pd[a]<b) pd[a]=b;
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=p[i][2];j++)
ans[i]+=pd[p[i][j+2]];
ans[i]=p[i][1]*(1+ans[i]);
if(max<ans[i]) max=ans[i];
}
printf("%.4lf\n",max);
}
return 0;
}