fork(3) download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int main(){
  4. int t;
  5. cin>>t;
  6. for(int ii=1;ii<=t;ii++){
  7. set<long double> str;
  8. long long int n,k;
  9. cin>>n>>k;
  10. long long int arr[k];
  11. int sum=0;
  12. for(int i=0;i<k;i++){cin>>arr[i];sum+=arr[i];}
  13. if(100%n==0){cout<<"Case #"<<ii<<": "<<100<<endl;continue;}
  14. int ans=0;
  15. for(int i=0;i<k;i++){
  16. if((arr[i]*100)%n==0){ans+=(arr[i]*100)/n;continue;}
  17.  
  18. long double val=((double)arr[i]*100)/n;
  19. if(val-(int)val>=0.5){ans+=(int)val+1;}
  20. else{ans+=(int)val;str.insert(val-(int)val);}
  21. }
  22. long double cmp=(double)100/n;
  23. cmp-=(int)cmp;
  24. // cout<<"Here"<<" "<<ans<<endl;
  25. for(int i=sum+1;i<=n;i++){
  26.  
  27.  
  28. ans+=(100/n);
  29. if(cmp>=0.5){ans+=1;continue;}
  30.  
  31. if(str.size()==0){
  32. str.insert(0.00);
  33. }
  34.  
  35. auto it=str.end();
  36. it--;
  37. long double val=*it;
  38. str.erase(it);
  39. val+=cmp;
  40. // cout<<val<<endl;
  41. if(val>=0.5)ans+=1;
  42. else{str.insert(val);}
  43. }
  44. cout<<"Case #"<<ii<<": "<<ans<<endl;
  45. }
  46. return 0;
  47. }
Runtime error #stdin #stdout 0s 4220KB
stdin
Standard input is empty
stdout
Standard output is empty