E只能过50%,求大神看看哪个地方有问题
#include <bits/stdc++.h>
using namespace std;
#define int long long
signed main() {
stack<char> p;
vector<int> q;
int t;
cin>>t;
int l=0;
for(int i=0;i<2*t;i++)
{
char r;
cin>>r;
if(r=='(')
p.push(r);
if(!p.empty())
if(p.top()=='('&&r==')')
{
p.pop();
l++;
}
if(p.empty())
{
q.push_back(l);
l=0;
}
}
if(!p.empty())
cout<<-1;
else
{
int ans=0;
for(int i=0;i<q.size();i++)
ans+=q[i];
for(int i=0;i<q.size();i++)
{
for(int j=1;j<=q[i];j++)
{
cout<<ans-j<<" ";
}
}
}
}