#include<iostream>
#include<stack>
#include<string>
#include<algorithm>
using namespace std;
int main() {
string s;
cin >> s;
size_t ans = 0;
stack<char> stack;
for (int i = 0; i < s.size(); i++) {
char c = s[i];
if (c == '(') {
stack.push(c);
ans = max(stack.size(), ans);
}
else if (!stack.empty() && stack.top() == '(') stack.pop();
}
cout << ans;
}
//直接用stack,感觉dfs(n, k)也是类似于栈


京公网安备 11010502036488号