fork download
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. int traffico(long N, vector<int>S) {
  7. int cambia = 0;
  8. vector<int> ricordaS(N);
  9.  
  10. for (int i = 0; i < N; i++) {
  11. ricordaS[i] = S[i];
  12. }
  13.  
  14. for (int i = 1; i < N; i++) {
  15. if (S[i] % 2 == S[i - 1] % 2) {
  16. cambia++;
  17. S[i]++;
  18. }
  19. }
  20.  
  21. int ricordaicambi = cambia;
  22. cambia = 0;
  23.  
  24. for (int i = N - 1; i > 0; i--) {
  25. if (ricordaS[i] % 2 == ricordaS[i - 1] % 2) {
  26. cambia++;
  27. ricordaS[i - 1]++;
  28. }
  29. }
  30.  
  31. if (ricordaicambi < cambia) {
  32. cambia = ricordaicambi;
  33. }
  34.  
  35. return cambia;
  36. }
  37. int main() {
  38. int N;
  39. cin >> N;
  40. vector<int> S(N);
  41.  
  42. for (int i = 0; i < N; i++) {
  43. cin >> S[i];
  44. }
  45.  
  46. cout << traffico(N, S) << endl;
  47.  
  48. return 0;
  49. }
Success #stdin #stdout 0.01s 5288KB
stdin
7
1 2 1 2 2 1 2
stdout
3