Advertisement
Guest User

Untitled

a guest
Jan 21st, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.38 KB | None | 0 0
  1. #include <iostream>
  2. #include <algorithm>
  3. #include <vector>
  4. #include <string>
  5. #include <set>
  6.  
  7. using namespace std;
  8.  
  9. vector<int> a, b;
  10. int n, m, alla[200001], allb[200001], col0[200001], col1[200001];
  11.  
  12. int main() {
  13. cin >> n;
  14. a.resize(n);
  15. for (int i = 0; i <= 2e5; i++) {
  16. alla[i] = -1;
  17. allb[i] = -1;
  18. }
  19. int cnt = 0;
  20. for (int i = 0; i < n; i++) {
  21. cin >> a[i];
  22. if (a[i] == 0) {
  23. cnt++;
  24. alla[cnt] = 0;
  25. }
  26. col0[i] = cnt;
  27. }
  28. cnt = 0;
  29. cin >> m;
  30. b.resize(m);
  31. for (int i = 0; i < m; i++) {
  32. cin >> b[i];
  33. if (b[i] == 0) {
  34. cnt++;
  35. allb[cnt] = 0;
  36. }
  37. col1[i] = cnt;
  38. }
  39. cnt = 0;
  40. for (int i = n - 1; i >= 0; i--) {
  41. if (a[i] == 1)
  42. cnt++;
  43. if (a[i] == 0) {
  44. alla[col0[i]] = cnt;
  45. }
  46. }
  47. alla[0] = cnt;
  48. cnt = 0;
  49. for (int i = m - 1; i >= 0; i--) {
  50. if (b[i] == 1)
  51. cnt++;
  52. if (b[i] == 0) {
  53. allb[col1[i]] = cnt;
  54. }
  55. }
  56. allb[0] = cnt;
  57. int q = -1;
  58. for (int i = 0; i <= 2e5; i++) {
  59. if (allb[i] != -1 && alla[i] != -1) {
  60. if (min(alla[i] + i, allb[i] + i) > q)
  61. q = min(alla[i] + i, allb[i] + i);
  62. }
  63. }
  64. cout << q;
  65. return 0;
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement