Advertisement
ktagir

27.95

Feb 17th, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.59 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include <iostream>
  3. #include <vector>
  4. #include <conio.h>
  5. using namespace std;
  6.  
  7. void debugPrint(short z);
  8. void countCalc(vector<int> input);
  9. void countCalc(vector<int> input1, vector<int> input2);
  10.  
  11. vector<int> critNumbers[4];
  12. //0 = 1; 1 = 3; 2 = 7; 3 = 9;
  13. short n = 0;
  14. int mainCount = 0;
  15.  
  16. int main()
  17. {
  18.     cin >> n;
  19.     for (int i = 0; i < n; i++) {
  20.         int x = 0;
  21.         cin >> x;
  22.         x %= 10;
  23.         switch (x)
  24.         {
  25.         case 1:
  26.             critNumbers[0].push_back(i);
  27.             break;
  28.         case 3:
  29.             critNumbers[1].push_back(i);
  30.             break;
  31.         case 7:
  32.             critNumbers[2].push_back(i);
  33.             break;
  34.         case 9:
  35.             critNumbers[3].push_back(i);
  36.             break;
  37.         }
  38.     }
  39.     countCalc(critNumbers[0]);
  40.     countCalc(critNumbers[1], critNumbers[2]);
  41.     countCalc(critNumbers[2], critNumbers[1]);
  42.     countCalc(critNumbers[3]);
  43.     cout << mainCount;
  44.     _getch();
  45.     return 0;
  46. }
  47.  
  48. void countCalc(vector<int> input) {
  49.     int lowBorder = 0;
  50.     for (int i = 0; i < input.size(); i++) {
  51.         if (lowBorder == 0) {
  52.             lowBorder = i + 1;
  53.         }
  54.         int q = lowBorder;
  55.         bool isntFound = true;
  56.         while (q < input.size() && isntFound) {
  57.             if (input[q] - input[i] - 1 >= 4) {
  58.                 mainCount += input.size() - q;
  59.                 lowBorder = q;
  60.                 isntFound = false;
  61.             }
  62.             q++;
  63.         }
  64.     }
  65. }
  66.  
  67. void countCalc(vector<int> input1, vector<int> input2) {
  68.     int lowBorder = 0;
  69.     for (int i = 0; i < input1.size(); i++) {
  70.         int q = lowBorder;
  71.         bool isntFound = true;
  72.         while (q < input2.size() && isntFound) {
  73.             if (input2[q] - input1[i] - 1 >= 4) {
  74.                 mainCount += input2.size() - q;
  75.                 lowBorder = q;
  76.                 isntFound = false;
  77.             }
  78.             q++;
  79.         }
  80.     }
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement