Advertisement
Guest User

Untitled

a guest
Nov 21st, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.87 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4.  
  5. using namespace std;
  6.  
  7. int main()
  8. {
  9. int kd1, kd0, l, r, n1 = 0, n0 = 0, kb1, kb0;
  10. long p, q, n;
  11. cin » n » p » q;
  12. vector<int> v(n), sum(n);
  13. for (int i = 0; i < n; i++) {
  14. cin » v[i];
  15. if (i == 0) sum[0] = v[0];
  16. if (v[i]) {
  17. n1++;
  18. kd1 = i;
  19. }
  20. if (n1 == 1) kb1 = i;
  21. else {
  22. n0++;
  23. kd0 = i;
  24. }
  25. if (n0 == 0) kb0 = i;
  26. sum[i] = sum[i - 1] + v[i];
  27. }
  28. if (p > q) {
  29. l = kb1;
  30. r = kd1;
  31. }
  32. else {
  33. int l = kb0;
  34. int r = kd0;
  35. }
  36. while (sum[r] - sum[l - 1] < p && (r - l + 1) - (sum[r] - sum[l - 1]) < q) {
  37. if (sum[r] - sum[l - 1] < p && v[l - 1]) l--;
  38. else if (sum[r] - sum[l - 1] < p && v[r + 1]) r++;
  39. if ((r - l + 1) - (sum[r] - sum[l - 1]) < q && !(v[l-1])) l--;
  40. if ((r - l + 1) - (sum[r] - sum[l - 1]) < q && !(v[r + 1])) r++;
  41. }
  42. cout « l « " " « r;
  43. return 0;
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement