fork 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; // 2
  21. lastPos = i; // 7
  22. firstPos = i - counter ; // 1
  23. // cout << firstPos << " " << lastPos <<" " << counter<<"|| \n";
  24. counter = 0;
  25. ///flag = 1;
  26.  
  27. }
  28. flag = 0;
  29.  
  30. } else if (v[i] * v[i + 1] == 0) {
  31. ++counter;
  32. //cout << v[i] << " " << v[i + 1] << " "<< counter << "\n";
  33. //
  34. flag = 1;
  35. if (i == n - 1 && v[i] * v[i + 1] == 0 && counter > nuleCount) {
  36. //cout << v[i] << " " << v[i + 1] << " "<< counter << "\n";
  37. nuleCount = counter;
  38. lastPos = i + 1;
  39. firstPos = i - counter + 1;
  40. counter = 0;
  41. }
  42. }
  43.  
  44. }
  45. // cout << firstPos << " " << lastPos <<" " << counter<<" \n";
  46. if (firstPos == 1 && lastPos == 0) {
  47. cout << "NU EXISTA" ;
  48. } else {
  49. for (int i = firstPos; i <= lastPos; ++i) {
  50. cout << v[i] <<".";
  51. }
  52. }
  53. //cout << firstPos << " " << lastPos;
  54. return 0;
  55. }
  56. /*
  57.  
  58. 1 2 3 4 0 1 0 5 6
  59.  
  60. 15
  61. 1 0 1 0 2 1 2 2 2 1 0 1 0 1 0
  62.  
  63. 9
  64. 1 2 3 4 5 0 7 8 9
  65.  
  66. 9
  67. 0 -2 3 4 5 6 7 8 0
  68.  
  69. 4
  70. 1 0 2 2
  71.  
  72. 5
  73. -5 -66 0 -7 -5
  74.  
  75. 31
  76. 0 0 0 1 2 3 5 4 0 0 0 0 0 0 5 1 4 5 0 0 0 0 0 0 0 0 0 2 5 5 4
  77.  
  78. 13
  79. -2 0 2 0 2 2 5 4 1 0 1 0 1
  80. */
  81.  
Success #stdin #stdout 0s 5316KB
stdin
10
1 0 3 5 4 8 0 6 0 0 
stdout
8.0.6.0.0.