Advertisement
Guest User

Untitled

a guest
Oct 1st, 2014
189
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.71 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <vector>
  4. using namespace std;
  5.  
  6. unsigned int cur = 0;
  7. unsigned int nextRand(int a, int b)
  8. {
  9.     cur = cur * a + b;
  10.     return cur >> 8;
  11. }
  12. int inverse(vector<int> &mas)
  13. {
  14.     int sum = 0;
  15.     for (int i = mas.size()-1; i > 0; --i)
  16.     {
  17.         for (int j = 0; j < i; ++j)
  18.         {
  19.             if (mas[j] > mas[i])
  20.                 sum++;
  21.         }
  22.     }
  23.     return sum;
  24. }
  25. int main() {
  26.     //ifstream in("invcnt.in");
  27.     //ofstream out("invcnt.out");
  28.     int n, m, a, b;
  29.     cin >> n >> m >> a >> b;
  30.     vector <int> mas(n);
  31.     for (int i = 0; i < n; i++)
  32.         mas[i] = (int)nextRand(a, b) % m;
  33.     cout << inverse(mas);
  34.     return 0;
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement