#include #include #include #include #include #include #define MAXP 18 #define MAXN 100006 #define LETTER 26 using namespace std; int minv[MAXN][MAXP]; int g[LETTER][MAXN]; char s[MAXN]; int T; int N,M; int MIN(int x,int y) { return x=0;i--) { int offset = 1< N)break; int j = i + offset/2; minv[i][p] = MIN(minv[i][p-1], minv[j][p-1]); } for(int i=1;i<=M;i++) { int x,y; scanf("%d%d",&x,&y); int min_id = query(x-1, y-1); int ans = g[min_id][y] - g[min_id][x-1]; printf("%d\n",ans); } } return 0; }