提示:多种药水混合后的浓度=(浓度1*体积1+浓度2*体积2+……)/(体积和)
31 100 101002 100 2420 303 100 2420 20 30Example Output
0 0.00100 0.20300 0.23Hint
代码如下:
#include<stdio.h>int main(){ int c; int n,v,w; int p[1001]; scanf("%d",&c); while(c--) { int i,j,t; int flag=1; scanf("%d%d%d",&n,&v,&w); for(i=0; i<n; i++) { scanf("%d",&p[i]); } for(i=0; i<n-1; i++) { for(j=0; j<n-i-1; j++) { if(p[j]>p[j+1]) { t=p[j]; p[j]=p[j+1]; p[j+1]=t; } } } double pi=0; int vi=0; for(i=0; i<n; i++) { if(pi*vi+p[i]*v<=w*(vi+v)) { pi=(pi*vi+p[i]*v)/(vi+v); vi+=v; } else break; } printf("%d %.2lf/n",vi,pi/100); } return 0;}
新闻热点
疑难解答