fork download
  1. #include <iostream>
  2. using namespace std;
  3. int main() {
  4. // your code goes here
  5. long long int i,j,k,l,m,n,o,p,q,r,s,t;
  6. cin>>t;
  7. char a[100001];
  8. long long int b[2][100000];
  9. while(t--)
  10. {
  11. cin>>n>>q;
  12. for(i=0;i<n;i++)
  13. b[0][i]=b[1][i]=0;
  14. scanf("%s",a);
  15.  
  16. for(i=0;i<n;i++)
  17. {
  18. if(a[i]==a[i+1])
  19. {
  20. b[0][i+1]=1;
  21. }
  22. if(a[i]==a[i+2])
  23. {
  24. b[0][i+2]=1;
  25. }
  26. }
  27. long long int prev=-1;
  28. for(i=0;i<n;i++)
  29. {
  30. if(b[0][i]==0)
  31. {
  32. b[1][i]=prev;
  33. }
  34. else
  35. {
  36. b[1][i]=i;
  37. prev=i;
  38. }
  39. }
  40. while(q--)
  41. {
  42. cin>>r>>s;
  43. r=r-1;
  44. s=s-1;
  45. if(s-r<2)
  46. {
  47. printf("NO\n");
  48. continue;
  49. }
  50. j=b[1][s];
  51. if(b[1][s]==-1)
  52. printf("NO\n");
  53. else
  54. {
  55. if(j<=r)
  56. printf("NO\n");
  57. else
  58. {
  59. if(a[j-1]==a[j])
  60. {
  61. k=j-1;
  62. }
  63. else
  64. {
  65. k=j-2;
  66. }
  67. if(j>=r&&j<=s&&k>=r&&k<=s)
  68. printf("YES\n");
  69. else
  70. printf("NO\n");
  71. }
  72. }
  73. }
  74. }
  75. return 0;
  76. }
Success #stdin #stdout 0s 4532KB
stdin
1
10 2
vishwajeet
7 9
6 8
stdout
YES
NO