QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#449618 | #6419. Baby's First Suffix Array Problem | SimonLJK | AC ✓ | 415ms | 23812kb | C++14 | 3.8kb | 2024-06-21 15:24:28 | 2024-06-21 15:24:29 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
#define mid (l+r>>1)
const int N=50009,L=16;
int n,m,ans[N];
char ch[N];
int buc[N],sa[N],rk[N],SA[N],RK[N];
int h[N],hei[N],st[N][L],lg[N];
bool cmp(int A,int B,int k){
return rk[A]!=rk[B]||(A+k>n?0:rk[A+k])!=(B+k>n?0:rk[B+k]);
}
void suffix_array(){
for(int i=1;i<=n;i++) buc[ch[i]-'a']++;
for(int i=1;i<=26;i++) buc[i]+=buc[i-1];
for(int i=n;i>=1;i--) sa[buc[ch[i]-'a']--]=i;
for(int i=1;i<=n;i++) rk[sa[i]]=rk[sa[i-1]]+(ch[sa[i]]!=ch[sa[i-1]]);
for(int k=1;k<n;k<<=1){
for(int i=1;i<=n;i++) buc[rk[sa[i]]]=i;
for(int i=n;i>=1;i--) if(sa[i]>k) SA[buc[rk[sa[i]-k]]--]=sa[i]-k;
for(int i=n-k+1;i<=n;i++) SA[buc[rk[i]]--]=i;
for(int i=1;i<=n;i++) RK[SA[i]]=RK[SA[i-1]]+cmp(SA[i-1],SA[i],k);
memcpy(sa,SA,sizeof(sa)); memcpy(rk,RK,sizeof(rk));
}
return;
}
void get_height(){
for(int i=1;i<=n;i++){
if(rk[i]==1) continue;
h[i]=max(h[i-1]-1,0);
while(i+h[i]<=n&&sa[rk[i]-1]+h[i]<=n&&ch[i+h[i]]==ch[sa[rk[i]-1]+h[i]]) h[i]++;
hei[rk[i]]=h[i];
}
lg[1]=0; for(int i=2;i<N;i++) lg[i]=lg[i>>1]+1;
for(int i=1;i<=n;i++) st[i][0]=hei[i];
for(int i=1;i<L;i++)
for(int j=1;j+(1<<i)-1<=n;j++)
st[j][i]=min(st[j][i-1],st[j+(1<<(i-1))][i-1]);
return;
}
struct tree{
int val;
int ln,rn;
}tr[N*20];
int rt[N],cntnode;
void build(int &node,int pn,int l,int r,int tar){
node=++cntnode; tr[node]=tr[pn]; tr[node].val++;
if(l==r) return;
if(tar<=mid) build(tr[node].ln,tr[pn].ln,l,mid,tar);
else build(tr[node].rn,tr[pn].rn,mid+1,r,tar);
return;
}
int query(int node,int mnd,int l,int r,int tarl,int tarr){
if(tarl<=l&&r<=tarr) return tr[node].val-tr[mnd].val;
int re=0;
if(tarl<=mid) re+=query(tr[node].ln,tr[mnd].ln,l,mid,tarl,tarr);
if(tarr>mid) re+=query(tr[node].rn,tr[mnd].rn,mid+1,r,tarl,tarr);
return re;
}
vector<pair<int,int> >q[N];
int mnl[N],mnr[N],p[N];
bool comp(int A,int B){
return sa[A]+mnr[A]>sa[B]+mnr[B];
}
struct node{
int pos,r,id;
};
bool cmpp(node A,node B){
return A.r>B.r;
}
int bit[N];
void add(int x,int val){
while(x<N){
bit[x]+=val;
x+=(x&(-x));
}
}
int query(int x){
int re=0;
while(x){
re+=bit[x];
x-=(x&(-x));
}
return re;
}
void cdq(int l,int r){
if(l==r) return;
cdq(l,mid); cdq(mid+1,r);
mnl[mid]=N; for(int i=mid-1;i>=l;i--) mnl[i]=min(mnl[i+1],hei[i+1]);
mnr[mid+1]=hei[mid+1]; for(int i=mid+2;i<=r;i++) mnr[i]=min(mnr[i-1],hei[i]);
for(int i=mid+1;i<=r;i++) p[i]=i;
sort(p+mid+1,p+r+1,comp);
vector<node> qq;
for(int i=l;i<=mid;i++)
for(pair<int,int> x:q[i])
qq.push_back((node){sa[i],x.second,x.first});
if(qq.empty()) return;
sort(qq.begin(),qq.end(),cmpp);
int pp=mid+1;
for(node now:qq){
while(pp<=r&&sa[p[pp]]+mnr[p[pp]]-1>=now.r){
add(sa[p[pp]],1);
pp++;
}
ans[now.id]+=query(now.r)-query(max(now.pos,now.r-mnl[rk[now.pos]]+1)-1);//
}
for(int i=pp-1;i>mid;i--)
add(sa[p[i]],-1);
return;
}
void clr(){
for(int i=1;i<=cntnode;i++) tr[i].val=tr[i].ln=tr[i].rn=0; cntnode=0;
for(int i=1;i<=n;i++) rt[i]=0,q[i].clear();
for(int i=0;i<=max(27,n);i++) buc[i]=0;
for(int i=1;i<=n;i++) h[i]=0;
}
void solve(){
cin>>n>>m;
for(int i=1;i<=n;i++) cin>>ch[i];
suffix_array();
get_height();
for(int i=1;i<=n;i++)
build(rt[i],rt[i-1],1,n,sa[i]);
int l,r,k,lef,lim;
for(int i=1;i<=m;i++){
cin>>l>>r>>k;
ans[i]=query(rt[rk[k]],rt[0],1,n,l,r);
lef=rk[k]; lim=r-k+1;
for(int j=L-1;j>=0;j--)
if(lef-(1<<j)+1>=2&&st[lef-(1<<j)+1][j]>=lim)
lef-=(1<<j);
if(k-1>=l)
ans[i]-=query(rt[rk[k]],rt[lef-1],1,n,l,k-1);
q[rk[k]].push_back(make_pair(i,r));
}
cdq(1,n);
for(int i=1;i<=m;i++)
cout<<ans[i]<<'\n';
clr();
return;
}
int main(){
std::ios::sync_with_stdio(false);
cin.tie(0);
int T; cin>>T;
while(T--) solve();
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 8560kb
input:
2 10 4 baaabbabba 2 8 3 1 1 1 2 3 2 2 5 4 20 3 cccbccbadaacbbbcccab 14 17 16 3 20 17 17 20 18
output:
2 1 2 3 4 15 3
result:
ok 7 numbers
Test #2:
score: 0
Accepted
time: 415ms
memory: 8096kb
input:
8994 10 10 abaabbaabb 2 8 3 1 8 5 6 9 6 9 9 9 5 10 7 5 7 7 7 8 7 5 6 6 1 9 9 3 9 5 2 1 ab 1 2 1 8 6 bbabaabb 3 7 7 5 7 7 1 5 1 1 4 3 3 5 3 5 5 5 10 3 aababbaaab 3 4 4 6 9 8 4 6 6 7 3 babbaab 5 6 5 3 6 6 1 6 6 9 3 baaaabbba 2 5 2 8 9 8 1 4 4 9 2 babaababa 2 4 4 2 6 3 2 3 ba 1 2 2 1 2 1 2 2 2 10 2 aba...
output:
3 8 4 1 1 1 2 1 6 7 1 4 3 5 1 2 1 1 2 2 2 1 1 4 2 1 1 5 1 2 1 5 2 3 1 1 1 4 3 2 1 1 3 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 3 2 1 2 1 1 2 3 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 2 1 2 2 2 2 1 2 2 1 1 5 1 1 3 2 4 1 2 1 2 1 1 1 4 2 2 2 6 1 1 2 2 1 2 1 4 4 1 1 1 1 1 1 1 2 1 4 2 3 2 2 1 4 2 2 2 2 1 2 ...
result:
ok 50000 numbers
Test #3:
score: 0
Accepted
time: 208ms
memory: 8176kb
input:
3349 12 39 ccccaabbacac 7 11 10 2 11 2 2 6 4 8 10 9 4 7 4 6 12 8 5 10 10 10 12 10 1 8 8 8 10 8 1 3 3 8 10 8 7 7 7 9 11 10 2 9 6 1 2 1 10 12 10 5 6 5 2 11 2 7 11 7 4 4 4 3 4 3 11 12 11 1 7 4 3 12 6 6 8 7 6 12 11 1 9 6 5 11 5 4 5 4 3 8 8 2 9 3 6 10 8 1 3 3 1 11 11 6 11 6 8 11 11 6 9 6 3 9 4 20 2 accba...
output:
5 10 3 1 4 4 6 3 3 2 1 2 1 3 3 2 3 2 10 4 1 2 1 4 2 3 2 3 2 2 3 7 3 1 1 2 1 2 6 5 9 1 6 3 1 1 2 3 3 2 2 5 4 2 8 1 2 5 1 3 6 3 5 5 1 2 3 1 4 4 2 5 2 3 2 3 2 1 3 1 1 5 7 4 5 6 7 4 1 4 1 7 14 2 3 4 1 4 3 1 1 1 9 2 3 3 7 2 7 8 4 7 4 3 3 3 6 1 3 2 1 2 2 2 5 3 3 3 1 4 8 6 3 1 1 5 1 1 2 1 4 2 10 1 6 1 4 1 ...
result:
ok 50000 numbers
Test #4:
score: 0
Accepted
time: 71ms
memory: 10920kb
input:
333 130 121 cdbcacbdbcaccccdbabadddbccbcadbadbcdddcbdcdcaddcaccdbaaadcbdbadabddaddadccdbadbbbaabdadabcbadacaabcabdaddbdaacbccbdddddcaacbcdcdab 81 115 82 22 81 24 49 95 57 22 101 26 66 71 66 90 98 92 31 118 98 70 70 70 33 77 64 61 126 99 11 34 14 9 89 70 17 101 94 5 56 34 47 83 54 2 10 6 63 68 64 47 ...
output:
2 21 44 46 6 4 32 1 4 37 17 59 11 19 3 7 2 35 21 16 2 38 25 23 3 40 1 53 17 72 64 11 4 20 11 25 10 56 13 8 98 37 8 43 16 3 34 9 91 36 10 22 2 15 11 3 4 21 85 17 2 32 1 6 1 26 2 79 1 4 7 2 4 10 16 2 19 3 39 7 32 66 4 2 22 67 2 16 34 25 11 1 30 44 32 6 32 26 25 1 36 39 44 46 5 11 29 14 10 7 3 26 20 30...
result:
ok 50000 numbers
Test #5:
score: 0
Accepted
time: 64ms
memory: 12200kb
input:
32 1618 204 bdbcacdcecbeaabdcebdcedeacbaeadadbaaceebaeccacdadcabaaebeabdabdcbabaececbeccddbdeabcebebdcdcbbcccebdcecbbadbebbcacacecbbbaddebcaecadccdadccdddaaabaeacebbcaddacaabcbdccabedccbebbcebeeadcdecbbdaabecebeaddaadaeeecbcadeaaeeaedbddceabadcbdbcabbbedcabaacaddcbccdcdeebdadbeeeaebbbdeebbaebdbecadc...
output:
17 33 74 113 19 7 83 262 25 118 47 42 106 144 91 225 64 443 21 68 100 21 152 524 511 74 49 3 642 544 23 123 59 547 45 459 37 718 99 22 140 234 847 127 4 115 921 64 173 296 148 192 96 115 3 5 594 377 936 510 7 84 39 268 89 19 78 252 938 297 45 57 429 992 1160 23 3 47 526 609 30 30 1 1116 364 355 64 4...
result:
ok 50000 numbers
Test #6:
score: 0
Accepted
time: 103ms
memory: 14204kb
input:
3 14322 3266 ahdmjrtnnkvotzitfqctsisxdlevjmdpocarqibnvfgpmlwkeuynawqzhnjwvtzxlckeawjwmaobieqaflnnlovlpxnjtafikqhvviqmkcyhiljgsohiqkxrpajshiighwhtglkrnbofakpqlxuwiruddxvntsvhgmwzitrtznsydvmyfhqltgtuoakvyxezwpkfwgurykrsekcaapjrvfmtljtxnvraisnvybuzveqvfglnhhqgrecvwiyzgerkwzeayvdhkfdmiwdgvxpyqajevefzzxn...
output:
3188 47 2495 4509 3896 564 619 1537 266 61 1746 148 804 1857 4589 7088 1449 344 937 4533 70 2727 62 5225 3477 341 93 121 5058 1706 1939 2786 98 342 314 4701 2938 1998 466 194 615 975 3044 432 2108 578 302 4645 3201 419 1233 345 907 4760 4944 1707 357 1297 1253 256 18 4371 3859 1029 308 860 3256 2444...
result:
ok 50000 numbers
Test #7:
score: 0
Accepted
time: 129ms
memory: 23752kb
input:
1 50000 50000 bbbbababaaaabababaaabaabaabbabbabbaaabbbbbbabbbababaaaaabbaaabbbababbbaabaabababababbbabaaaababaababbabbbabbbabaabbbbbaababaaaabaaaaaabaabbaaaabbaaababbbabbaabaababbbaabbbbaabbbbabbaabbabababaaabaababaabaabababbabbbabaaabaaabaabbaabbaabababaaaaabaabbabbbaaaabbbabbabbbaaabaaaabbbbaabbaa...
output:
14106 7199 315 23 21768 4574 19032 9447 1399 4075 4509 3770 22703 9626 11967 39 8208 14885 9810 2885 1501 4344 5191 11468 25450 22059 10473 7168 5765 12478 5895 9215 26023 17780 21556 22347 9214 3076 897 17612 122 79 1237 6864 8620 15374 10972 18213 2633 9313 1003 15871 1814 6148 28475 9887 3248 262...
result:
ok 50000 numbers
Test #8:
score: 0
Accepted
time: 126ms
memory: 23580kb
input:
1 50000 50000 aacccdaaabbbdcdbbccdddabbcbcacacdaaccaabcdaabcbcccbbbcadbdacabdbdddaddbabdcbcbacaddbdababcdadcbccacbdabcdbcaabcacddccbbdcdcbdcabcdbaadccccbccabbabcdbdcdddcadaddcabcbbdabaacabadcccbaaadbbbaaacdddabdaaabbaacbaaaabcadbacbbaadbbdbadaccdabaabcdddbcbaadaaabbbabbabbdcdadacbdacdbcaccadaccbcbcd...
output:
3461 254 1838 11909 11583 31007 498 649 5860 32819 18923 11053 2374 2864 9971 17207 1809 38307 302 6601 8782 31585 1179 2468 8836 231 578 6954 14984 14872 14214 4800 30011 7393 3173 1337 3929 210 29907 28679 5533 25781 5465 2763 10445 16179 5934 7912 10297 1839 42608 57 2590 12060 355 13200 7015 129...
result:
ok 50000 numbers
Test #9:
score: 0
Accepted
time: 124ms
memory: 23812kb
input:
1 50000 50000 ccccdcabcabababbbdadddabccdbddcbacdcbcaadccdabcbaadccbdddccddccbdabaccbcaddbabbbabaadccacbcbaadbacacdadddacdcbbabacbbcabbddccbbdcdbcbcddaabdaaccddbcaccbcbbcbbbbbdddbaadbdddacaddbcbaacaacbccbccbdcccacbabbdcddaacdacdcdaccbaaacdccbaacdadbbaaaacccdbaaaabaddcabcaadaddbbabdadcdccdabbabcdaaad...
output:
51 4 27 10 41 8 17 78 26 6 24 7 4 10 25 74 28 1 15 27 19 28 54 25 1 33 63 4 1 19 6 48 13 20 44 26 7 1 22 50 10 65 5 5 43 34 4 3 16 8 32 40 16 15 80 7 14 45 22 15 13 7 65 45 64 12 14 16 22 2 10 26 66 30 17 35 19 4 55 17 78 8 14 85 27 2 37 1 2 4 11 3 7 22 55 29 7 33 4 5 15 18 15 8 9 21 73 40 8 51 97 2...
result:
ok 50000 numbers
Test #10:
score: 0
Accepted
time: 114ms
memory: 23436kb
input:
1 50000 50000 aadddbddbdcdccdbabcdddaaadadbbaabdcbbbdddbdcdadabdcdadbcccdabdbcabddabbdaadbcccadcbdddabcaacabbdcadccbcaadcbdaddabbaadcdadadaadbcdbbdcaabccbddcddaabdabcbdbbdcadadbabdbbbbbbbcadaaccbbacacbaaccbacddcaaddbcbbbdaadbdadabbcdcabdddcacbbcadbbcabbacddbcacbacdbbbccacdccdccbbcdbacbcadddcdbcccaba...
output:
36865 42672 42156 10085 25214 47946 30569 21888 33007 35476 36946 21089 36483 12561 33367 41731 27460 48902 28849 20015 19159 28062 14416 18329 11212 12037 10917 3712 35131 46782 11706 8985 19189 12099 33959 33208 31030 45412 33806 35752 13400 40607 7991 63 26773 11302 49091 45123 25752 41971 22347 ...
result:
ok 50000 numbers
Test #11:
score: 0
Accepted
time: 128ms
memory: 23516kb
input:
1 50000 50000 abbabaabbaababbabaababbaabbabaabbaababbaabbabaababbabaabbaababbabaababbaabbabaababbabaabbaababbaabbabaabbaababbabaababbaabbabaabbaababbaabbabaababbabaabbaababbaabbabaabbaababbabaababbaabbabaababbabaabbaababbabaababbaabbabaabbaababbaabbabaababbabaabbaababbabaababbaabbabaababbabaabbaabab...
output:
5855 2148 26567 2625 128 5098 1225 664 1545 191 4136 7212 5468 553 1812 26073 6982 10498 6603 39035 11224 5846 2458 7319 12828 183 4300 8432 33925 4990 2326 9727 4668 13597 5830 596 280 6170 847 71 1872 11735 37093 5197 78 1316 10896 20194 1503 14076 2631 1465 15898 7885 2119 373 13524 430 693 4075 ...
result:
ok 50000 numbers
Test #12:
score: 0
Accepted
time: 114ms
memory: 23404kb
input:
1 50000 50000 abcdbcdacdabdabcbcdacdabdabcabcdcdabdabcabcdbcdadabcabcdbcdacdabbcdacdabdabcabcdcdabdabcabcdbcdadabcabcdbcdacdababcdbcdacdabdabccdabdabcabcdbcdadabcabcdbcdacdababcdbcdacdabdabcbcdacdabdabcabcddabcabcdbcdacdababcdbcdacdabdabcbcdacdabdabcabcdcdabdabcabcdbcdabcdacdabdabcabcdcdabdabcabcdbc...
output:
13759 14609 31791 39936 36123 30296 19881 7134 20834 32564 45651 47333 4564 24019 16289 46779 47360 3234 7411 2726 19219 4356 39363 28275 5049 31201 10923 22540 16779 1616 31053 14379 13020 37468 45757 33749 45756 28789 3344 11437 43105 15989 1971 30546 10673 15980 5672 39006 34031 22966 42602 26758...
result:
ok 50000 numbers
Test #13:
score: 0
Accepted
time: 106ms
memory: 23400kb
input:
1 50000 50000 vrvvrvrvvrvvrvrvvrvrvvrvvrvrvvrvvrvrvvrvrvvrvvrvrvvrvrvvrvvrvrvvrvvrvrvvrvrvvrvvrvrvvrvvrvrvvrvrvvrvvrvrvvrvrvvrvvrvrvvrvvrvrvvrvrvvrvvrvrvvrvrvvrvvrvrvvrvvrvrvvrvrvvrvvrvrvvrvvrvrvvrvrvvrvvrvrvvrvrvvrvvrvrvvrvvrvrvvrvrvvrvvrvrvvrvvrvrvvrvrvvrvvrvrvvrvrvvrvvrvrvvrvvrvrvvrvrvvrvvrvrvvrv...
output:
31613 16411 28710 2555 12382 21580 5813 10802 7585 34504 3218 17485 41408 22359 41670 38427 40722 44095 16092 38904 4228 13246 751 17256 16669 43246 4299 18678 43936 4195 32284 12474 33646 19570 29219 42978 20541 20304 39745 6735 1495 21036 4862 21608 11324 46619 45135 34357 25479 43668 18106 17432 ...
result:
ok 50000 numbers
Test #14:
score: 0
Accepted
time: 111ms
memory: 23592kb
input:
1 50000 50000 fnnfffffnfffffnffufnffnffffuffffffunfffnfnfnfffffnfnfffnffffnfkffunffffffafufffffffuufnffffffffnffffffffffffffnfffuunfffnfffffffnfnffnffffffffffffffnnnnfffnfffffffnffffnffuffffffffffffffffffnnfnfffffnfnffffnffuffffffuffffnnfnfunffffnfnffnfffffffffffnffffnunffffnfnffnfnffffufffffffffuff...
output:
33022 5053 37365 39912 46985 94 20342 10009 49594 35986 28105 38799 41672 9389 24061 23165 13107 30144 48878 21638 11236 18926 8861 36347 16948 16458 7674 46789 20206 11757 40171 3933 11699 48411 16354 2169 11058 20649 34526 39373 49275 31851 21522 36281 19732 20806 39137 34617 48442 8636 40454 2408...
result:
ok 50000 numbers
Test #15:
score: 0
Accepted
time: 103ms
memory: 23400kb
input:
1 50000 50000 vvvvhvhvvvvvvvvvvvhvvvvvvvvvvvvhvvvvhvvvvvvvvvvvvvvhvvvvvvvvvvvvvvhvvvvvvvvhvvvvvvvvvvvvvvvvvvvvvvvvhvvvvvvvvvvvvvvhvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvhvhvvvvvvvvvvvvvvvvvvvvvvvvhvvvvhvvvwvvvhvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvhvvvhvvvvvvvvvvvvvvvvvwvhvvvvvvvhhvvvvvvvvhvvvvhvvvvvvvvvvvv...
output:
34659 4905 40501 25217 14282 3312 40611 6521 27071 33978 44954 31849 22748 16148 19857 31458 14507 17735 29795 43992 26810 6201 7699 8091 47211 46296 42080 22699 14821 20522 19191 9177 15764 8747 1067 5646 25528 20362 7324 38174 4671 39716 11209 16991 19436 38875 49516 36685 29167 15039 34835 32992 ...
result:
ok 50000 numbers
Test #16:
score: 0
Accepted
time: 106ms
memory: 23484kb
input:
1 50000 50000 dmdedmdxdmdedmdtdmdedmdxdmdedmdldmdedmdxdmdedmdtdmdedmdxdmdedmdqdmdedmdxdmdedmdtdmdedmdxdmdedmdldmdedmdxdmdedmdtdmdedmdxdmdedmdpdmdedmdxdmdedmdtdmdedmdxdmdedmdldmdedmdxdmdedmdtdmdedmdxdmdedmdqdmdedmdxdmdedmdtdmdedmdxdmdedmdldmdedmdxdmdedmdtdmdedmdxdmdedmdbdmdedmdxdmdedmdtdmdedmdxdmdedm...
output:
11689 9445 37818 41668 25338 29539 19158 11985 44418 25810 21774 33141 4112 9451 14675 32524 15128 14337 14104 3977 36497 12362 23246 4788 5657 45699 23292 700 22256 46850 38034 48456 28744 37152 48214 11028 36333 38385 48791 47004 18085 34452 47563 37171 24470 49007 15193 7492 5430 25918 9782 15974...
result:
ok 50000 numbers
Test #17:
score: 0
Accepted
time: 125ms
memory: 23724kb
input:
1 50000 50000 ihiyihikihiyihixihiyihikihiyihijihiyihikihiyihixihiyihikihiyihinihiyihikihiyihixihiyihikihiyihijihiyihikihiyihixihiyihikihiyihiwihiyihikihiyihixihiyihikihiyihijihiyihikihiyihixihiyihikihiyihinihiyihikihiyihixihiyihikihiyihijihiyihikihiyihixihiyihikihiyihidihiyihikihiyihixihiyihikihiyih...
output:
608 6560 16964 14970 3070 8527 9571 6266 18190 26530 15934 239 2761 4410 1480 30060 5827 3631 1381 73 7964 8700 5766 4502 19266 6603 14293 2192 17817 4320 24498 7625 20265 9690 7709 1418 16573 34534 4628 138 1368 8531 9186 923 8231 10063 13831 8485 33498 2 6859 4216 26 2553 5161 1902 3065 5896 2032 ...
result:
ok 50000 numbers
Test #18:
score: 0
Accepted
time: 110ms
memory: 23508kb
input:
1 50000 50000 abaabaabaabaababaabaabaabaababaabaabaabaababaabaabaabaababaabaabaabaababaabaabaabaababaabaabaabaababaabaabaabaababaabaabaabaababaabaabaabaababaabaabaabaababaabaabaabaababaabaabaabaababaabaabaabaababaabaabaabaababaabaabaabaababaabaabaabaababaabaabaabaababaabaabaabaababaabaabaabaababaaba...
output:
28656 2158 1581 34149 2762 1440 13947 12037 1720 8598 4954 1102 72 15524 4866 15239 24444 1999 4796 135 1149 3745 9937 29601 7220 9314 15830 3523 4854 24549 19039 33373 8738 26135 13431 23990 16987 20984 2829 8681 3844 2290 4 24203 791 6035 3367 7176 1747 2291 9283 5302 17786 14490 3534 7301 21264 4...
result:
ok 50000 numbers
Test #19:
score: 0
Accepted
time: 110ms
memory: 18772kb
input:
1 32767 50000 aaabaaabaaabaaacaaabaaabaaabaaacaaabaaabaaabaaacaaabaaabaaabaaadaaabaaabaaabaaacaaabaaabaaabaaacaaabaaabaaabaaacaaabaaabaaabaaadaaabaaabaaabaaacaaabaaabaaabaaacaaabaaabaaabaaacaaabaaabaaabaaadaaabaaabaaabaaacaaabaaabaaabaaacaaabaaabaaabaaacaaabaaabaaabaaaeaaabaaabaaabaaacaaabaaabaaabaa...
output:
287 17147 3800 4092 7335 13565 289 9 10172 12894 331 3246 13138 203 15957 2207 2409 22096 16698 2333 6825 741 2094 3341 1304 7941 14117 2838 1266 142 11469 2645 5226 1675 13710 9115 164 1751 13921 9568 13701 643 7523 6664 701 2194 3935 594 344 5671 78 203 310 5560 19122 4661 449 2238 4181 9791 12560...
result:
ok 50000 numbers
Test #20:
score: 0
Accepted
time: 103ms
memory: 17444kb
input:
1 30239 50000 aabaacaabaacaabaacaabaacaabaadaabaacaabaacaabaacaabaacaabaadaabaacaabaacaabaacaabaacaabaadaabaacaabaacaabaacaabaacaabaadaabaacaabaacaabaacaabaacaabaadaabaacaabaacaabaacaabaacaabaaeaabaacaabaacaabaacaabaacaabaadaabaacaabaacaabaacaabaacaabaadaabaacaabaacaabaacaabaacaabaadaabaacaabaacaaba...
output:
8500 16912 11304 6760 4075 12551 3657 619 777 2792 11278 2610 1320 7784 2454 2202 1962 10308 4126 7621 1575 1930 639 24121 505 713 2007 8695 70 1752 10343 7641 362 3162 1615 866 13466 852 6585 1201 7932 777 1365 47 131 685 6258 3780 39 9284 5591 871 3235 905 9008 38 628 7364 3253 1764 7791 4142 7597...
result:
ok 50000 numbers
Test #21:
score: 0
Accepted
time: 103ms
memory: 21428kb
input:
1 39999 50000 abacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacab...
output:
18103 3900 383 28796 10912 7372 2617 2085 234 3123 1947 4780 3675 5308 1718 9327 658 4290 24799 6395 13088 6354 10891 228 5709 8373 2215 3810 562 8972 2179 700 4207 6841 12501 1458 988 4711 24 10200 2608 17377 885 4093 9980 1951 5729 3913 9877 555 10862 12317 4563 4385 11920 11076 4922 282 20438 717...
result:
ok 50000 numbers
Test #22:
score: 0
Accepted
time: 96ms
memory: 23724kb
input:
1 49999 50000 ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab...
output:
17042 1927 295 12886 1363 11031 17007 2662 263 28490 467 14908 19511 10069 663 4231 1084 11952 7115 7714 5269 26583 130 3441 4547 2749 5995 34203 5383 4819 6078 33784 35221 1969 2004 1481 8131 12246 1542 21892 8719 5733 1710 3223 3861 848 1638 7719 225 18719 1446 19347 7529 2967 9038 237 15688 9086 ...
result:
ok 50000 numbers