Submission #1019207

#TimeUsernameProblemLanguageResultExecution timeMemory
1019207DucNguyen2007Zagrade (COI17_zagrade)C++14
0 / 100
37 ms14764 KiB
#include<bits/stdc++.h> using namespace std; #define ll long long #define ld long double #define pll pair<ll,ll> #define fi first #define se second const int maxN=3e5+5; const ll inf=2e18; int n; ll dp[maxN+1]; string s; vector<int> adj[maxN+1]; stack<int> st; void clr() { while(!st.empty()) { st.pop(); } } int main() { //freopen("","r",stdin); //freopen("","w",stdout); ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin>>n>>s; s=" "+s; for(int i=1;i<n;i++) { int u,v; cin>>u>>v; } for(int i=1;i<=n;i++) { if(s[i]=='(') { st.push(i); } else { if(!st.empty()&&s[st.top()]=='(') { dp[i]=dp[i]+dp[st.top()-1]+1; } else clr(); } } ll res=0; for(int i=1;i<=n;i++) { res+=dp[i]; } cout<<res; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...