好久不写题,第一题的二分也看不出来了......
#include<stdio.h>
int main(){
int t,T,i,j,n,sum,all,tem,yes;
int a[210];
double b;
freopen("A-large-practice.in","r",stdin);
freopen("b.out","w",stdout);
scanf("%d",&T);
for(t=1;t<=T;t++){
scanf("%d",&n);
all=0;
for(i=1;i<=n;i++){
scanf("%d",&a[i]);
all+=a[i];
}
printf("Case #%d: ",t);
for(i=1;i<=n;i++){
double l=0,r=1;
while((r-l)>=1e-7){
double mid=(l+r)/2,tem=mid;
double now=mid*all+a[i];
for(j=1;j<=n;j++)
if(i!=j && a[j]<now)
tem+=(double)(now-a[j])/all;
if(tem<1)
l=mid;
else
r=mid;
}
printf("%.6f",l*100);
if(i==n)
printf("\n");
else
printf(" ");
}
}
}