Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2019
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.94 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main() {
  5.     int n;
  6.     int x, y, generator;
  7.     scanf("%d%d%d%d", &n, &x, &y, &generator);
  8.     int m;
  9.     int z, t, quadrilator;
  10.     scanf("%d%d%d%d", &m, &z, &t, &quadrilator);
  11.     if (m == 0) {
  12.         printf("%d", 0);
  13.         exit(0);
  14.     }
  15.     long long a[n];
  16.     a[0] = generator;
  17.     for (int i = 1; i < n; ++i) {
  18.         generator = (x * generator + y) % 65536;
  19.         a[i] = a[i - 1] + generator;
  20.     }
  21.     long long ultimateSum = 0;
  22.     long long first, second;
  23.     first = quadrilator;
  24.     for (int i = 0; i < m; ++i) {
  25.         second = (z * first + t + 1073741824) % 1073741824;
  26.         long long c1 = first % n;
  27.         long long c2 = second % n;
  28.         ultimateSum += c1 < c2 ? (c1 == 0 ? a[c2] : a[c2] - a[c1 - 1]) : (c2 == 0 ? a[c1] : a[c1] - a[c2 - 1]);
  29.         first = (z * second + t + 1073741824) % 1073741824;
  30.     }
  31.     printf("%lld", ultimateSum);
  32.  
  33.     return 0;
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement