fork(1) download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. const int MAX_LENGTH = 100000;
  5.  
  6. int main() {
  7. int n, v[MAX_LENGTH + 1];
  8. cin >> n;
  9. int nuleCount = 0, firstPos = 1, lastPos = 0;
  10. for (int i = 1; i <= n; ++i) {
  11. cin >> v[i];
  12. }
  13.  
  14. int flag = 1;
  15. int counter = 0;
  16. for (int i = 1; i < n; ++i) {
  17. if (v[i] * v[i + 1] != 0 && flag == 1) {
  18. // cout << i <<" "<< counter<<" ";
  19. if (counter >= nuleCount) {
  20. nuleCount = counter; // 5
  21. lastPos = i; // 5
  22. firstPos = i - counter + 1; // 1
  23. counter = 0;
  24. ///flag = 1;
  25. }
  26. flag = 0;
  27.  
  28. } else if (v[i] * v[i + 1] == 0) {
  29.  
  30. ++counter;
  31. //
  32. flag = 1;
  33. if (i == n - 1 && v[i] * v[i + 1] == 0) {
  34. //cout << v[i] << " " << v[i + 1] << " "<< counter << "\n";
  35. nuleCount = counter; // 5
  36. lastPos = i + 1; // 5
  37. firstPos = i - counter + 1; // 1
  38. counter = 0;
  39. }
  40. }
  41.  
  42. }
  43. // cout << firstPos << " " << lastPos <<" " << counter<<" \n";
  44. for (int i = firstPos; i <= lastPos; ++i) {
  45. cout << v[i] <<" ";
  46. }
  47. //cout << firstPos << " " << lastPos;
  48. return 0;
  49. }
  50. /*
  51.  
  52. 1 2 3 4 0 1 0 5 6
  53.  
  54. 15
  55. 1 0 1 0 2 1 2 2 2 1 0 1 0 1 0
  56. */
  57.  
Success #stdin #stdout 0.01s 5284KB
stdin
9
0 1 0 1 0 1 0 1 0
stdout
0 1 0 1 0 1 0 1 0