Advertisement
Guest User

Untitled

a guest
Sep 15th, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.78 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4.  
  5. using namespace std;
  6.  
  7. int main() {
  8.     size_t n;
  9.     cin >> n;
  10.     vector<int> vec(n);
  11.     for (size_t i = 0; i < n; ++i) {
  12.         cin >> vec[i];
  13.     }
  14.    
  15.     vector<int> ans(n);
  16.     ans[0] = 1;
  17.     for (size_t i = 1; i < n; ++i) {
  18.         if (vec[i] == vec[i - 1]) {
  19.             ans[i] = ans[i - 1];
  20.         } else {
  21.             ans[i] = ans[i - 1] ^ 3;
  22.         }
  23.     }
  24.    
  25.     while (((vec[n - 1] != vec[n - 2]) && (ans[n - 1] == ans[n - 2]))
  26.           || ((vec[n - 1] != vec[0]) && (ans[n - 1] == ans[0]))) {
  27.         ans[n - 1]++;
  28.     }
  29.    
  30.     cout << (*max_element(ans.begin(), ans.end())) << endl;
  31.     for (auto e : ans) {
  32.         cout << e << ' ';
  33.     }
  34.     cout << endl;
  35.     return 0;
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement