fork download
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5.  
  6. int vp,vd,t,f,c;
  7.  
  8.  
  9. bool check(int num)
  10. {
  11. int i=t;
  12. int j=0;
  13. while(num >= 0 && i < c)
  14. {
  15. for (;j<i;i+=vp,j+=vd);
  16. num--;
  17. if (num < 0 && i < c )
  18. {
  19. return false ;
  20. }
  21. else if (num < 0 && i == c )
  22. return true;
  23. for (;j>0 ; i+=vp , j-=vd);
  24. j=0;
  25. for (int k=0;k<f;k++)
  26. i+=vp;
  27. }
  28. }
  29.  
  30.  
  31. int binary_sear()
  32. {
  33. int s=1;
  34. int e=c/f;
  35. int ret=0;
  36. while (s<=e)
  37. {
  38. int mid=(s+e)/2;
  39. if (check(mid))
  40. {
  41. e=mid-1;
  42. ret=mid;
  43. }
  44. else
  45. {
  46. s=mid+1;
  47. }
  48. }
  49. return ret;
  50.  
  51. }
  52.  
  53.  
  54. int main()
  55. {
  56. cin >> vp >> vd >> t >> f >> c ;
  57. if (vp > vd)
  58. {
  59. cout << 0 << endl;
  60. return 0;
  61. }
  62. cout << binary_sear() << endl;
  63. return 0;
  64. }
  65.  
Success #stdin #stdout 0s 15224KB
stdin
1
2
1
1
10
stdout
0