Advertisement
Guest User

Untitled

a guest
Oct 15th, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.80 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main(){
  5. long long c,x,y,z,m,s,f,e,t;
  6. cin >> c >> x >> y >> z >> m >> s >> f >> e >> t;
  7. /*
  8. c-íåîáõîäèìîå ÷èñëî âàëþòû äëÿ ïîáåäû
  9. x-âìåñòèìîñòü áàçû
  10. ó-ñòîèìîñòü õðàíèëèùà
  11. z-âìåñòèìîñòü õðàíèëèùà
  12. m-÷åðåç ì ìèíóò ïðèâîçÿò s âàëþòû
  13. s-âàëþòà çà êàæäûå m ìèíóò
  14. f-ñòîèìîñòü îòðÿäà ïåõîòû
  15. e-êîëè÷åñòâî îòðÿäîâ âðàãîâ
  16. t-âðåìÿ íåîáõîäèìîå äëÿ òîãî, ÷òîáû äîáðàòüñÿ äî âðàãà*/
  17. long long needAm=0, resultOfWaiting=0, current=0, waitingTime=0, curAm=0,q, resultOfAttack=0;
  18. //åñëè òîëüêî æäàòü
  19. needAm = (c - x) / z;
  20.  
  21. if ((c-x)%z!=0) needAm+1;
  22. while(curAm < needAm){
  23. waitingTime+=m;
  24. curAm+=(s+current)/y;
  25. current=(s+current)%y;
  26. if(curAm > needAm){
  27. q=(curAm-needAm)*y;
  28. current+=q;
  29. curAm=needAm;
  30. }
  31.  
  32. if ((curAm*z+x)<current)
  33. current=curAm*z+x;
  34. }
  35. resultOfWaiting=waitingTime + (needAm*z+x-current)/s*m;
  36. if ((needAm*z+x-current)%s!=0) resultOfWaiting+=m;
  37. cout << "Waiting: " << resultOfWaiting << endl;
  38.  
  39.  
  40. //åñëè àòàêîâàòü
  41. q=(e+1)*f;
  42. curAm=0;
  43. needAm = (q - x) / z;
  44.  
  45. if ((q-x)%z!=0) needAm+1;
  46. while(curAm < needAm){
  47. waitingTime+=m;
  48. curAm+=(s+current)/y;
  49. current=(s+current)%y;
  50. if(curAm > needAm){
  51. q=(curAm-needAm)*y;
  52. current+=q;
  53. curAm=needAm;
  54. }
  55.  
  56. if ((curAm*z+x)<current){
  57. //Ó×ÒÈ ×ÒÎ ÌÎÆÍÎ ÏÎÊÓÏÀÒÜ ÎÒÐßÄ ÇÄÅÑÜ
  58. current=curAm*z+x;
  59. }
  60. }
  61. resultOfAttack=waitingTime+t+(needAm*z+x-current)/s*m;
  62. if ((needAm*z+x-current)%s!=0) resultOfAttack+=m;
  63. cout << "Attack: " << resultOfWaiting << endl;
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement