hdu_2570_配置解药_存疑

2019-04-14 16:34发布

肯定是精度问题,但不知道错在哪里。 又及:自己写的代码太复杂了,别人写的更简单的很多。 #include #include #include #include using namespace std; const int maxn=1000; int medi[maxn]; int main(void) { int i,j,k; int n,V,W; int T; cin>>T; while(T--) { cin>>n>>V>>W; int cnt=0,vol=0; memset(medi,0,sizeof(medi)); for(i=0;i>medi[i]; sort(medi,medi+n); bool flag=true; cnt+=medi[0]; vol+=V; if((double)cnt/vol>(double)W/100) printf("0 0.00 "); else { for(i=1;i(double)W/100) flag=false; if(!flag) break; } if(!flag) printf("%d %.2f ",vol-V,(double)(cnt-medi[i])/(vol-V)); else printf("%d %.2f ",vol,(double)cnt/vol); } } }