fork(1) download
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. const int N = 1<<20;
  6.  
  7. int n,m;
  8. char a[N];
  9.  
  10. bool check(int x, int y, int z, int w) {
  11. int i=x,j=z;
  12. while(i<=y) {
  13. if(a[i]!=a[j]) return false;
  14. ++i;
  15. ++j;
  16. }
  17. return true;
  18. }
  19.  
  20. int main() {
  21. int i,cnt,l,r;
  22.  
  23. scanf("%d %d", &n, &m);
  24. scanf("%s", a+1);
  25. while(m--) {
  26. scanf("%d %d", &l, &r);
  27. cnt=1;
  28. for(i=r+1;i+(r-l+1)-1<=n;i+=(r-l+1)) {
  29. if(check(l,r,i,i+(r-l+1)-1)) ++cnt;
  30. else break;
  31. }
  32. printf("%d\n", cnt);
  33. }
  34.  
  35. return 0;
  36. }
Success #stdin #stdout 0s 4436KB
stdin
Standard input is empty
stdout
Standard output is empty