//Robberies/*思路比较巧,如果直接根据题意去想,用被捕的概率来做就比较困难;基本思路:以钱为容量,在钱相同的情况下逃跑成功的概率要最大*/#include
#include
float max(float a,float b);int main(){ int t,n,m[105],sum,r; float pro,p[105],dp[10005]; int i,j; while(scanf("%d",&t)!=EOF) { while(t--) { sum=0; memset(dp,0,sizeof(dp)); dp[0]=1; scanf("%f%d",&pro,&n); for(i=0;i
=0;j--) { dp[j]=max(dp[j],dp[j-m[i]]*p[i]); } } for(i=sum;i>=0;i--) { if(dp[i]>=(1-pro)) { r=i; break; } } printf("%d\n",r); } } return 0;}float max(float a,float b){ return(a>b?a:b);}