fork(1) download
  1. #include<bits/stdc++.h>
  2. #define scd(n) scanf("%d",&n)
  3. #define sclld(n) scanf("%lld",&n)
  4. #define scf(n) scanf("%f",&n)
  5. #define sclf(n) scanf("%lf",&n)
  6. #define scc(n) scanf("%c",&n)
  7. #define scs(n) scanf("%s",&n)
  8. #define prd(n) printf("%d\n",n)
  9. #define prlld(n) printf("%lld\n",n)
  10. #define prf(n) printf("%f\n",n)
  11. #define prlf(n) printf("%lf\n",n)
  12. #define prc(n) printf("%c\n",n)
  13. #define prs(n) printf("%s\n",n)
  14. #define tr(type,it,s) for(type<int>::iterator it=s.begin();it!=s.end();it++)
  15. #define ft float
  16. #define sg string
  17. #define de double
  18. #define llit long long int
  19. #define ss stringstream
  20. #define pr(type1,type2) pair<type1,type2>
  21. #define vtr vector
  22. #define vr(type) vector< type >
  23. #define ivr vector<int>
  24. #define all(s) (s).begin(),(s).end()
  25. #define fstmp(s,z) (s).find(z)!=(s).end()
  26. #define fvr(s,z) find(all(s),z)!=(s).end()
  27. #define ipr pair<int,int>
  28. #define qe(type) queue<type>
  29. #define qi queue<int>
  30. #define get getchar_unlocked
  31. using namespace std;
  32. /*
  33. inline int inputint()
  34. {
  35. int n=0,s=1;
  36. char p=get();
  37. if(p=='-') s=-1;
  38. while((p<'0'||p>'9')&&p!=EOF&&p!='-') p=get();
  39. if(p=='-') s=-1,p=get();
  40. while(p>='0'&&p<='9')
  41. {
  42. n = (n<< 3) + (n<< 1) + (p - '0');
  43. p=get();
  44. }
  45. return n*s;
  46. }
  47. inline long long int inputlonglongint()
  48. {
  49. long long int n=0,s=1;
  50. char p=get();
  51. if(p=='-') s=-1;
  52. while((p<'0'||p>'9')&&p!=EOF&&p!='-') p=get();
  53. if(p=='-') s=-1,p=get();
  54. while(p>='0'&&p<='9')
  55. {
  56. n = (n<< 3) + (n<< 1) + (p - '0');
  57. p=get();
  58. }
  59. return n*s;
  60. }
  61. */
  62. int main()
  63. {
  64. string s="";
  65. int q,i,j,k,m,n,a,b,c;
  66. scd(q);
  67. while(q-->0)
  68. {
  69. char sign;
  70. cin>>sign;
  71. scd(n);
  72. if(sign=='+')
  73. {
  74. string attach;
  75. cin>>attach;
  76. s.insert(n,attach);
  77. }
  78. else
  79. {
  80.  
  81. scd(k);
  82. string now=s.substr(n-1,k);
  83. cout<<now<<'\n';
  84. }
  85. }
  86.  
  87.  
  88.  
  89.  
  90. return 0;
  91. }
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
Runtime error #stdin #stdout #stderr 0s 3428KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
terminate called after throwing an instance of 'std::out_of_range'
  what():  basic_string::substr