fork download
  1. #include<iostream>
  2. using namespace std;
  3. int main(){
  4. int n,m,p;
  5. cin>>n>>m>>p;
  6. p--;
  7. int b[3][n];
  8. string s;
  9. cin>>s;
  10. int inc=0;
  11. int hash[n]={0};
  12. for(int i=0;i<n;i++)
  13. {
  14. if(s[i]=='(')
  15. { inc++;
  16. hash[inc]=i;
  17. }
  18. else {
  19. b[0][i]=hash[inc];
  20. b[0][hash[inc]]=i;
  21. inc--;
  22. }
  23. b[1][i]=i-1;
  24. b[2][i]=i+1;
  25. }
  26. string d;
  27. cin>>d;
  28. int has[n]={0};
  29. for(int i=0;i<m;i++){
  30. if(d[i]=='R')
  31. p=b[2][p];
  32. else if(d[i]=='L')
  33. p=b[1][p];
  34. else {int temp=p;
  35. if(s[p]==')')
  36. p=b[0][p];
  37. has[p]=1;
  38. has[b[0][p]+1]=-1;
  39. b[2][b[1][p]]=b[2][b[2][p]];
  40. b[1][b[2][b[2][p]]]=b[1][p];
  41. if(b[2][b[0][p]]<n)
  42. p=b[2][b[0][p]];
  43. else p=b[1][p];
  44. }
  45. }
  46.  
  47. int sum=0;
  48. for(int i=0;i<n;i++)
  49. {
  50. sum+=has[i];
  51. if(sum==0)
  52. cout<<s[i]<<i;
  53. }
  54.  
  55.  
  56. }
Success #stdin #stdout 0s 4520KB
stdin
12 5 3
((()())(()))
RRDLD
stdout
(0(1(4)5