fork download
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4.  
  5. int p[200010], p1[200010];
  6.  
  7. int main() {
  8. string s;
  9. cin >> s;
  10. p[0] = 0;
  11. for(int i = 0; i < s.size(); ++i) {
  12. p[i + 1] = p[i];
  13. if(i % 2 == 0 && s[i] == 1)
  14. p[i + 1]--;
  15. else if(s[i] == 1)
  16. p[i + 1]++;
  17. }
  18. int e = s.size() - 1;
  19. p1[e + 1] = 0;
  20. for(int i = e; i >= 0; --i) {
  21. p1[i] = p1[i + 1];
  22. if(i % 2 == 0 && s[i] == 1)
  23. p1[i]--;
  24. else if(s[i] == 1)
  25. p1[i]++;
  26. }
  27. for(int i = 0; i < s.size(); ++i) {
  28. if(p[i] == p1[i + 1]) {
  29. cout << i + 1 << endl;
  30. return 0;
  31. }
  32. }
  33. cout << 0 << endl;
  34. return 0;
  35. }
Success #stdin #stdout 0s 4400KB
stdin
0111011
stdout
1