Lang:G++
Edit123456789101112131415161718192021222324252627282930#include "iostream"#include "algorithm"#include <stack>using namespace std;struct node{int l,r;}ans[1000007];int cmp(node p,node q){return p.l < q.l;}int main(){string s;cin >> s;stack<int> st;int in =0 ;for(int i = 0;i < s.size();++i){if( s[i] == '(' ) st.push(i);else {ans[in].l = st.top();st.pop();ans[in].r = i;in++;}}sort(ans,ans+in,cmp);for(int i = 0;i < in;++i) {cout << (ans[i].l + 1) <<" " << (ans[i].r + 1) <<endl;}}