3 1 100 10 100 2 100 24 20 30 3 100 24 20 20 30
0 0.00 100 0.20 300 0.23
唉 ,TM精度的问题 想破脑袋也想不到。。。wa了那么多次
还有 应该提前把浓度公式写出来了,用脑袋空想始终不是正道、
#include <stdio.h> #include <algorithm> using namespace std; int main() { int ncase,n; double a[105],w,v; scanf("%d",&ncase); while(ncase--) { scanf("%d %lf %lf",&n,&v,&w); for(int i=0;i<n;i++) scanf("%lf",&a[i]); sort(a,a+n); if(a[0]>w) { printf("0 0.00\n"); continue; } double sum=0; int i; for(i=0;i<n;i++) { if((sum+a[i]/100*v)/((i+1)*v)-0.00001<=w/100) sum+=a[i]*v/100; else break; } printf("%.lf %.2lf\n",i*v,sum/i/v); } return 0; }
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/su20145104009/article/details/47254251