#include<bits/stdc++.h> usingnamespace std; #define ll long long constint N = 1e6 + 10; constint INF = 0x3f3f3f3f; int n; int sum, l, r; char s[N]; int ans; intmain(){ scanf("%d", &n); scanf("%s", s + 1); for (int i = 1; s[i]; i++) { sum += (s[i] == '(' ? 1 : -1); if (sum == -1 && l == 0) { l = i; } elseif (sum == 0 && l != 0) { ans += i - l + 1; l = 0; } } if (sum != 0)puts("-1"); else cout << ans << endl; return0; }
#include<bits/stdc++.h> usingnamespace std; #define ll long long constint N = 1e6 + 10; constint INF = 0x3f3f3f3f; int n; int a[N], b[N], ans; intmain(){ scanf("%d", &n); for (int i = 1; i <= n; i++)scanf("%d", &a[i]); for (int i = 0; i < 30; i++) { for (int j = 1; j <= n; j++)b[j] = a[j] % (1 << (i + 1)); sort(b + 1, b + n + 1); int l, r, s = 0; for (int j = 1; j <= n; j++) { l = lower_bound(b + 1, b + n + 1, (1 << i) - b[j]) - b; r = lower_bound(b + 1, b + n + 1, (1 << (i + 1)) - b[j]) - b - 1; s += r - l + 1; l = lower_bound(b + 1, b + n + 1, (1 << (i + 1)) + (1 << i) - b[j]) - b; r = lower_bound(b + 1, b + n + 1, (1 << (i + 2)) - b[j]) - b - 1; s += r - l + 1; if ((b[j] + b[j])&(1 << i))s--; } s /= 2; if (s & 1)ans |= (1 << i); } cout << ans << endl; return0; }