Advertisement
mickypinata

SMMR-T151: De Facto Speed

Jun 30th, 2020
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.82 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4.  
  5. #define lli long long
  6.  
  7. int nu;
  8. vector<int> portal;
  9.  
  10. bool HighEnough(lli mul){
  11.     lli re = mul * portal[1];
  12.     for(int i = 2; i <= nu; ++i){
  13.         lli nxt = re / (lli)portal[i];
  14.         if(nxt == 0){
  15.             return false;
  16.         }
  17.         re = nxt * portal[i];
  18.     }
  19.     return true;
  20. }
  21.  
  22. int main(){
  23.  
  24.     scanf("%d", &nu);
  25.     portal.assign(nu + 10, 0);
  26.     for(int i = 1; i <= nu; ++i){
  27.         scanf("%d", &portal[i]);
  28.     }
  29.  
  30.     lli l = 1;
  31.     lli r = 1e18;
  32.     lli mn = 1e18;
  33.     while(l <= r){
  34.         lli m = (l + r) / 2;
  35.         if(HighEnough(m)){
  36.             mn = min(mn, m);
  37.             r = m - 1;
  38.         } else {
  39.             l = m + 1;
  40.         }
  41.     }
  42.  
  43.     lli ans = mn * portal[1];
  44.     cout << ans;
  45.  
  46.     return 0;
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement