Advertisement
Guest User

Untitled

a guest
Feb 20th, 2017
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.57 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. double dp[60005][1005],n,eps = 0.0000001, ch, q;
  5. long long l,r,mid,ans,i,j,k,T;
  6.  
  7. main(){
  8.  
  9. cin>>k>>T;
  10.  
  11. dp[0][0]= 1.0;
  12.  
  13. for (i=1; i<=60000; i++)
  14. for (j=1; j<=k; j++)
  15. dp[i][j] = dp[i-1][j] * (double)j / k + dp[i-1][j-1] * (double)(k - (j-1)) / k;
  16.  
  17.  
  18. while (T--){
  19. cin>>q;
  20.  
  21. l=1; r=60000; ans = r;
  22. ch = ((double)q - eps) / 2000.0;
  23.  
  24. while (l<=r){
  25. mid = (l+r/2);
  26.  
  27. if (dp[mid][k] >= ch) {
  28. ans = mid;
  29. r = mid-1;
  30. } else l = mid+1;
  31. }
  32.  
  33. cout<<ans<<endl;
  34.  
  35. }
  36.  
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement