fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main()
  5. {
  6. ios::sync_with_stdio(false);
  7. cin.tie(nullptr);
  8.  
  9. int n;
  10. cin >> n;
  11.  
  12. int licznik = 1; // pierwszą długość zawsze zaczyna płynąć
  13. int poprzednik;
  14. cin >> poprzednik;
  15.  
  16. bool czy_rosnie = true; // na początku odpływa od brzegu (ciąg niemalejący)
  17. bool poprzedni_stan = true; // to samo co czy_rosnie na starcie
  18.  
  19. for (int i = 1; i < n; i++)
  20. {
  21. int pom;
  22. cin >> pom;
  23.  
  24. if (czy_rosnie == true && pom < poprzednik) {
  25. licznik++;
  26. czy_rosnie = false;
  27. }
  28. else if (czy_rosnie == false && pom > poprzednik) {
  29. licznik++;
  30. czy_rosnie = true;
  31. }
  32.  
  33. // równe wartości (pom == poprzednik) nic nie zmieniają — Bajtek mógł stać
  34. poprzednik = pom;
  35. poprzedni_stan = czy_rosnie; // zostawiam, bo chciałeś swoje zmienne
  36. }
  37.  
  38. cout << licznik << "\n";
  39. return 0;
  40. }
  41.  
Success #stdin #stdout 0s 5320KB
stdin
6
28 28 28 28 28 28
stdout
1