fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. #define _ ios_base::sync_with_stdio(0);cin.tie(0);
  5. #define endl '\n'
  6. #define pb push_back
  7. #define eb emplace_back
  8. #define ff first
  9. #define ss second
  10. #define all(x) (x).begin(), (x).end()
  11. #define rall(x) (x).rbegin(), (x).rend()
  12.  
  13. #define dbg(x) cout << #x << " = " << x << endl
  14.  
  15. typedef long long ll;
  16. typedef pair<int, int> pi;
  17.  
  18. const ll MOD = 1e9 + 7;
  19.  
  20. signed main(){ _
  21.  
  22. int n; cin >> n;
  23. vector<int> v(n);
  24. for (int i = 0; i < n; i++) {
  25. char c; cin >> c;
  26. if (c == '(') v[i] = 1;
  27. else v[i] = -1;
  28. }
  29. vector<int> prefix_sum(n), prefix_one(n);
  30. prefix_sum[0] = v[0];
  31. prefix_one[0] = (v[0] == 1) ? 1 : 0;
  32. for (int i = 1; i < n; i++) {
  33. prefix_sum[i] = prefix_sum[i-1] + v[i];
  34. prefix_one[i] = prefix_one[i-1];
  35. if (v[i] == 1) prefix_one[i]++;
  36. }
  37. int pos_zero = -1, ans = 0;
  38. for (int i = 0; i < n; i++) {
  39. if (v[i] == -1 && pos_zero != -1) {
  40. ans += prefix_one[i];
  41. pos_zero = -1;
  42. }
  43. if (prefix_sum[i] == 0) pos_zero = i;
  44. }
  45. cout << ans << endl;
  46. }
Success #stdin #stdout 0.01s 5288KB
stdin
Standard input is empty
stdout
0