Guest User

Untitled

a guest
Feb 14th, 2022
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.88 KB | None | 0 0
  1. #include <cstdlib>
  2.  
  3. #include <algorithm>
  4. #include <iostream>
  5. #include <random>
  6.  
  7. constexpr size_t DivUp(size_t n, size_t m) { return (n + m - 1) / m; }
  8. constexpr size_t RoundUp(size_t n, size_t m) { return DivUp(n, m) * m; }
  9.  
  10. size_t RoundUpForTag(size_t size) {
  11.   return RoundUp(size, (size <= 512) ? 8 : (size <= 8192 ? 64 : 4096));
  12. }
  13.  
  14. int main(int argc, char** argv) {
  15.   const int input1 = atoi(argv[1]);
  16.   const int input2 = atoi(argv[2]);
  17.   const int input3 = atoi(argv[3]);
  18.   size_t res = 0;
  19.   std::random_device rd;
  20.   std::mt19937 mt(rd());
  21.   std::uniform_real_distribution<int> dist(1, 20);
  22.   for (int i = 0; i < 100000000; ++i) {
  23.     if (dist(mt) != 1) {
  24.       res += RoundUpForTag(input1);
  25.     } else if (dist(mt) < 10) {
  26.       res += RoundUpForTag(input2);
  27.     } else {
  28.       res += RoundUpForTag(input3);
  29.     }
  30.   }
  31.   std::cout << res << std::endl;
  32.   return 0;
  33. }
  34.  
Advertisement
Add Comment
Please, Sign In to add comment