QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#440228 | #5014. 复读程度 | C1942huangjiaxu | 61 | 1339ms | 245856kb | C++14 | 6.5kb | 2024-06-13 13:14:31 | 2024-06-13 13:14:32 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
const int N=2e5+5,M=4e5+5;
typedef unsigned long long ull;
int n,m,tot;
ull wl[N],wr[N],Ans[N],ans[M],ans2[M];
char s[N];
struct node{
int ch[26],len,fa;
};
struct SAM{
node tr[N];
int str[N],son[N][26],occ[N],pos[N],bel[N],ip[N],sz[N];
ull sum[N];
int cnt=1,ls=1;
int fa[N][19],in[N],out[N];
vector<int>e[N];
void ins(int c){
int p=ls,np=ls=++cnt;
tr[np].len=tr[p].len+1;
str[tr[np].len]=c,ip[tr[np].len]=np;
for(;p&&!tr[p].ch[c];p=tr[p].fa)tr[p].ch[c]=np;
if(!p)tr[np].fa=1;
else{
int q=tr[p].ch[c];
if(tr[q].len==tr[p].len+1)tr[np].fa=q;
else{
int nq=++cnt;tr[nq]=tr[q];
tr[nq].len=tr[p].len+1,tr[np].fa=tr[q].fa=nq;
for(;p&&tr[p].ch[c]==q;p=tr[p].fa)tr[p].ch[c]=nq;
}
}
}
void dfs(int x){
in[x]=++in[0];
for(int i=1;i<19;++i)fa[x][i]=fa[fa[x][i-1]][i-1];
for(auto v:e[x]){
fa[v][0]=x;
sz[v]=tr[v].len-tr[x].len;
dfs(v);
sum[x]+=sum[v];
occ[x]+=occ[v];
pos[x]=min(pos[x],pos[v]);
}
out[x]=in[0];
}
void build(ull *w){
for(int i=1;i<=cnt;++i)e[tr[i].fa].emplace_back(i),pos[i]=1e9;
int u=1;
for(int i=1;i<=n;++i){
u=tr[u].ch[str[i]];
++occ[u];
pos[u]=i,sum[u]=w[i];
}
dfs(1);
for(int i=2;i<=cnt;++i)son[tr[i].fa][str[pos[i]-tr[tr[i].fa].len]]=i;
}
void feed(vector<int>* res){
for(int u=cnt;u;--u){
if(!bel[u])for(int i=0;i<26;++i)if(tr[u].ch[i])bel[u]=bel[tr[u].ch[i]];
res[bel[u]].push_back(u);
}
}
int find(int l,int r){
int x=ip[r];
for(int i=18;~i;--i)if(fa[x][i]&&tr[fa[x][i]].len>=r-l+1)x=fa[x][i];
return x;
}
}s1,s2;
struct qry1{
int l,r,id,x;
ull va;
};
struct Bit{
ull tr[N];
void upd(int x,ull v){
for(;x<N;x+=x&-x)tr[x]+=v;
}
ull sum(int x){
ull res=0;
for(;x;x-=x&-x)res+=tr[x];
return res;
}
ull sum(int l,int r){
return sum(r)-sum(l-1);
}
}bit;
struct qry2{
int x,y,id;
}q[M];
bool cmp(qry2 a,qry2 b){
int pa=a.x>>9,pb=b.x>>9;
if(pa!=pb)return pa<pb;
return (pa&1)?a.y>b.y:a.y<b.y;
}
vector<int>rid[N],cid[N];
vector<qry1>qc[N],qr[N],tq[N];
vector<qry2>qx[N],qy[N];
int rp[N],cp[N],occ[N],rvx[N],rvy[N],bx[N],by[N];
int qid[M],cq,segx[N],segy[N];
struct block{
int sz;
ull s[N],s2[N];
void upd(int x,ull v){
int y=(x>>9)+1;
for(int i=x;i<y<<9;++i)s[i]+=v;
for(int i=y;i<=sz>>9;++i)s2[i]+=v;
}
void upd(int l,int r,ull v){
upd(l,v);
if(r<sz)upd(r+1,-v);
}
ull ask(int x){
return s[x]+s2[x>>9];
}
}vx,vy;
void dfs(int x,int y){
bool fg=s1.tr[x].len==s2.tr[y].len;
if(fg)s1.bel[x]=s2.bel[y]=++tot,occ[tot]=s1.occ[x];
for(int i=0;i<26;++i)if(s1.tr[s1.tr[x].ch[i]].len==s1.tr[x].len+1)
dfs(s1.tr[x].ch[i],fg?s2.son[y][i]:y);
}
void qry(int l1,int r1,int l2,int r2,int id){
int p1=s1.find(l1,r1),p2=s2.find(n-r2+1,n-l2+1);
int ln1=r1-l1+1,ln2=r2-l2+1;
int y1=rp[p1],x1=s1.tr[p1].len-ln1,x2=cp[p2],y2=s2.tr[p2].len-ln2;
if(s1.bel[p1]==s2.bel[p2]){
if(x1!=x2||y1!=y2)
if(x2>x1&&x2<s1.sz[p1]||y1>y2&&y1<s2.sz[p2])
Ans[id]-=s1.sum[p1]*s2.sum[p2]*s1.occ[p1];
}else{
int o=s1.bel[p1];
if(x1+1<s1.sz[p1]){
qc[o].push_back({s2.in[p2],s2.out[p2],id,-x1,s1.sum[p1]*occ[o]});
qc[o].push_back({s2.in[p2],s2.out[p2],id,s1.sz[p1]-1,s1.sum[p1]*occ[o]});
}
o=s2.bel[p2];
if(y2+1<s2.sz[p2]){
qr[o].push_back({s1.in[p1],s1.out[p1],id,-y2,s2.sum[p2]*occ[o]});
qr[o].push_back({s1.in[p1],s1.out[p1],id,s2.sz[p2]-1,s2.sum[p2]*occ[o]});
}
}
q[++cq]={s1.out[p1],s2.out[p2],0},qid[cq]=id;
q[++cq]={s1.in[p1]-1,s2.out[p2],0},qid[cq]=-id;
q[++cq]={s1.out[p1],s2.in[p2]-1,0},qid[cq]=-id;
q[++cq]={s1.in[p1]-1,s2.in[p2]-1,0},qid[cq]=id;
}
void solve(int o){
for(int i=0;i<cid[o].size();++i)tq[i].clear();
for(auto v:qc[o]){
if(v.x<0)tq[-v.x].push_back({v.l,v.r,v.id,-1,v.va});
else tq[v.x].push_back({v.l,v.r,v.id,1,v.va});
}
for(int i=1;i<cid[o].size();++i){
int u=cid[o][i];
bit.upd(s2.in[u],s2.sum[u]);
for(auto v:tq[i])Ans[v.id]-=bit.sum(v.l,v.r)*v.va*v.x;
}
for(int i=1;i<cid[o].size();++i){
int u=cid[o][i];
bit.upd(s2.in[u],-s2.sum[u]);
}
for(int i=0;i<rid[o].size();++i)tq[i].clear();
for(auto v:qr[o]){
if(v.x<0)tq[-v.x].push_back({v.l,v.r,v.id,-1,v.va});
else tq[v.x].push_back({v.l,v.r,v.id,1,v.va});
}
for(int i=1;i<rid[o].size();++i){
int u=rid[o][i];
bit.upd(s1.in[u],s1.sum[u]);
for(auto v:tq[i])Ans[v.id]-=bit.sum(v.l,v.r)*v.va*v.x;
}
for(int i=1;i<rid[o].size();++i){
int u=rid[o][i];
bit.upd(s1.in[u],-s1.sum[u]);
}
}
void Solve(){
for(int i=1;i<=cq;++i)q[i].id=i;
sort(q+1,q+cq+1,cmp);
for(int i=1,X=1,Y=1;i<=cq;++i){
if(X<q[i].x)qy[Y].push_back({X+1,q[i].x,i}),X=q[i].x;
if(Y<q[i].y)qx[X].push_back({Y+1,q[i].y,i}),Y=q[i].y;
if(X>q[i].x)qy[Y].push_back({q[i].x+1,X,-i}),X=q[i].x;
if(Y>q[i].y)qx[X].push_back({q[i].y+1,Y,-i}),Y=q[i].y;
}
vx.sz=s1.cnt;
vy.sz=s2.cnt;
for(int i=2;i<=s2.cnt;++i){
int v=rvy[i],o=by[i];
vx.upd(segx[rid[o][0]],segx[rid[o][s2.sz[v]-1]],s2.sum[v]*occ[o]);
for(auto u:qy[i]){
ull sv=0;
for(int j=u.x;j<=u.y;++j){
int z=rvx[j];
sv+=vx.ask(segx[z])*s1.sum[z];
}
if(u.id<0)ans2[-u.id]-=sv;
else ans2[u.id]+=sv;
}
}
for(int i=2;i<=s1.cnt;++i){
int v=rvx[i],o=bx[i];
vy.upd(segy[cid[o][0]],segy[cid[o][s1.sz[v]-1]],s1.sum[v]*occ[o]);
for(auto u:qx[i]){
ull sv=0;
for(int j=u.x;j<=u.y;++j){
int z=rvy[j];
sv+=vy.ask(segy[z])*s2.sum[z];
}
if(u.id<0)ans2[-u.id]-=sv;
else ans2[u.id]+=sv;
}
}
for(int i=1;i<=cq;++i){
ans2[i]+=ans2[i-1];
ans[q[i].id]=ans2[i];
}
}
int main(){
scanf("%d%d",&n,&m);
scanf("%s",s+1);
for(int i=1;i<=n;++i)scanf("%llu",&wl[i]);
for(int i=1;i<=n;++i)scanf("%llu",&wr[i]);
for(int i=1;i<=n;++i)s[i]-='a';
for(int i=1;i<=n;++i)s1.ins(s[i]);
for(int i=n;i;--i)s2.ins(s[i]);
s1.build(wr);
reverse(wl+1,wl+n+1);
s2.build(wl);
dfs(1,1);
s1.feed(rid),s2.feed(cid);
for(int i=1;i<=tot;++i){
for(int j=0;j<rid[i].size();++j){
int v=rid[i][j];
rp[v]=j,rvx[s1.in[v]]=v;
bx[s1.in[v]]=i;
segx[v]=++segx[0];
}
for(int j=0;j<cid[i].size();++j){
int v=cid[i][j];
cp[v]=j,rvy[s2.in[v]]=v;
by[s2.in[v]]=i;
segy[v]=++segy[0];
}
}
for(int i=1,l1,r1,l2,r2;i<=m;++i){
scanf("%d%d%d%d",&l2,&r2,&l1,&r1);
qry(l1,r1,l2,r2,i);
}
for(int i=2;i<=tot;++i)solve(i);
Solve();
for(int i=1;i<=cq;++i){
if(qid[i]<0)Ans[-qid[i]]-=ans[i];
else Ans[qid[i]]+=ans[i];
}
for(int i=1;i<=m;++i)printf("%llu\n",Ans[i]);
return 0;
}
詳細信息
Subtask #1:
score: 7
Accepted
Test #1:
score: 7
Accepted
time: 8ms
memory: 86028kb
input:
500 500 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
output:
15720454042420499810 4058077030882532408 14651762045124606089 4030024243931986061 18033423360813892607 9470601111824364484 3883374861354698625 16650831689368240202 8339028189650687576 2683289915379600554 13133811958066776394 14181220923901262251 18173739360450512256 13142314545999179754 148925491596...
result:
ok 500 lines
Test #2:
score: 0
Accepted
time: 8ms
memory: 90312kb
input:
500 500 zszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszszzszz...
output:
4843650749197240262 7777110205341291111 533576317536031175 16712994243500559204 9988085877723856684 9644193924482321332 3247342125341043527 18152622312040037224 13045121434804725850 10593529771756855740 13316626648976199221 6181092693273210423 9148547538129213975 9376364571107435561 2140403332478526...
result:
ok 500 lines
Test #3:
score: 0
Accepted
time: 15ms
memory: 90240kb
input:
500 500 aaaaabbaabbabbbaabaabbabbabbbaaabaaaabbbbbbaaabaabbbbbbaabbaaaaababbaaaaabbbbababbabaabbbbbbbbaaaaaaabaabbabbbbaabbaabaaabbbabbaabbbabaabaaaaababbaabbabbbabbababbbaabbabaaabbbbaaabbbabbabaabbabbaaabbaabbabbbbaaaaaababaaaabaababbaabbabbabbbabbaabbbaabbaaababaaabbababbbabaababaabbbbbabbababaab...
output:
841375054012212333 13406426787139944226 6541986259052503362 10583258635957015782 11582649090627508617 4747829250201069768 11571422754704651998 14603866222879735665 8438246043626601023 16155298152184479844 9052925087624568857 18388444310571976215 13304308468056840286 18125780089857220122 363421144082...
result:
ok 500 lines
Test #4:
score: 0
Accepted
time: 16ms
memory: 90276kb
input:
500 500 sulasusulasusulasulasulsulasusulasususulasulasulsulasulasulsulasulasulsulasususulasulasulsulasulasulsulasulasulsulasusulasulasulsulasulasulsulasulasulsulasusulasulasulsulasulasulsulasulasulsulasulasulsulasususulasulasulsulasulasulsulasulasulsulasusulasulasulsulasulasulsulasusulasusulasusulas...
output:
2320755102639148175 17108462705447992416 6030359132551843296 889683039894413148 10901851555398837076 1991544941914879425 9087724446342520941 5134546535199286414 12947484109492427089 5962550827492657739 4877066450610765849 6699323319072695780 11167645157062070624 13985172887966350800 8075429763917070...
result:
ok 500 lines
Test #5:
score: 0
Accepted
time: 11ms
memory: 92172kb
input:
500 500 bbbbbbqouvtudkzorrxinacvncytgmtbbbbbbfyfzxjdqlcaadccvsbbbbbbqouvtudkzorrxinacvncytgmtbbbbbbbbbbbbqouvtudkzorrxinacvncytgmtbbbbbbfyfzxjdqlcaadccvsbbbbbbqouvtudkzorrxinacvncytgmtbbbbbbbbbbbbqouvtudkzorrxinacvncytgmtbbbbbbfyfzxjdqlcaadccvsbbbbbbqouvtudkzorrxinacvncytgmtbbbbbbbbbbbbqouvtudkzorrx...
output:
18295637548117042088 6105463594888898313 15681140870484623884 17957090271580958329 11763132903578154240 17769627666201366836 16493946443969420940 12712093409624537595 2436698665645215125 8863273927617841787 5065586857868462806 8771649105206144878 6715985691821336097 8851433094837196039 7055234226266...
result:
ok 500 lines
Test #6:
score: 0
Accepted
time: 7ms
memory: 90180kb
input:
500 500 yyyayyayyyayyayyyayyayyyayyyayyyayyayyyyayyayyyayyyayyayyyayyyayyayyayyyyayyyayyyayyayyayyyayyayyayyyayyayyayyyayyyyyayyayyyyayyayyyayyayyyayyyayyyayyayyyayyayyyyayyyayyayyayyyayyayyyayyyyayyyyayyayyyayyayyayyyayyayyayyyyayyayyyayyayyayyyayyyyayyayyayyyayyayyayyyayyayyayyyyayyyayyyayyyyayyay...
output:
6159560444195180556 5294852391541430076 6195718271241091926 7959984071139675340 1598729415848168155 4879964117998052348 2279721248493220290 2026655128556749470 9803272548967597498 1028236064772678471 5410852487707111065 3600180224455323043 60239358603452318 2179897463397058094 16626503365867372202 3...
result:
ok 500 lines
Test #7:
score: 0
Accepted
time: 12ms
memory: 94388kb
input:
500 500 fffffffffffxfqifffnmogfffxfqiffffffffxfqifffnmogfffxfqiffffffxfqifffnmogfffxfqifffffffffffxfqifffnmogfffxfqiffffffffxfqifffnmogfffxfqifffffffffffffxfqifffnmogfffxfqiffffffffxfqifffnmogfffxfqifffffffffxfqifffnmogfffxfqiffffffffxfqifffnmogfffxfqiffffffffxfqifffnmogfffxfqiffffffffxfqifffnmogfff...
output:
6263422992304461664 10533199195660359295 11930245273187149005 380050211417129795 8399013088311259527 7005867409130681392 6872331929648615383 11661502418569897193 18027795221888639599 8932010711134684820 6331436398298306214 14599171184201697655 16632037523890780117 10373998601812781913 16089838760431...
result:
ok 500 lines
Subtask #2:
score: 15
Accepted
Dependency #1:
100%
Accepted
Test #8:
score: 15
Accepted
time: 27ms
memory: 96532kb
input:
5000 5000 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
output:
12046186417900804485 3907200386448639860 16785470842023310270 13867397394972404837 17085398553187209926 11495532885795119226 12151570815045120790 4174337022608077877 6326694597133262496 5169007805286709535 14463367619086789683 627371028328452442 16378439470252322552 8286285259552634235 4646456254657...
result:
ok 5000 lines
Test #9:
score: 0
Accepted
time: 15ms
memory: 100268kb
input:
5000 5000 zszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszszzs...
output:
735272585091871492 2425556370857741242 8489901764977622765 9888756352722135114 3110111362923242403 9113727892967247055 13146817111311386931 5955980702194075793 11763307103994511020 11636340521260903139 13880517640770645879 18280247001976771986 9041182678245966519 902847942097731925 17037540142883387...
result:
ok 5000 lines
Test #10:
score: 0
Accepted
time: 39ms
memory: 94900kb
input:
5000 5000 bababbaabbbbbabbabaababbbaabababbbbaaabbaabbbbaaabaaaaabbababaababbbabbabbaaabbaaaaaababbababbbbbabbbbbaaabbabababaaababbababaabaaaaaabaaabbabaaaabaabaaaaaabbaaaaaaabbbbbabbabababbbabababaabaabbbbbabaabbbaaabbaaababbabaabaabbababaaaaaaabaaaabaabbbabbaaaababbabbaaabbbbabbabbaabbabbbbabaabbb...
output:
14997976760389310587 15623438489514479805 3150343034406864174 3816221098639928267 9378704101760633024 7513129444188437491 13447233088170491140 9761793475353455477 14533020333667464089 3755460369265761557 1017346093533703703 13617526768501762999 3768834851789866303 6158131626925412903 362975187944345...
result:
ok 5000 lines
Test #11:
score: 0
Accepted
time: 34ms
memory: 102552kb
input:
5000 5000 faffafimufxzbzetkfeqjfaffafxwgaqswmswhlkteloiarwwdafaffafimufxzbzetkfeqjfaffaffaffafimufxzbzetkfeqjfaffafxwgaqfaffafimufxzbzetkfeqjfaffafxwgaqswmswhlkteloiarwwdafaffafimufxzbzetkfeqjfaffaffaffafimufxzbzetkfeqjfaffafxwgaqswmswhlkteloiarwwdafaffafimufxzbzetkfeqjfaffaffaffafimufxzbzetkfeqjfaf...
output:
1845388242333177970 9831947454379400267 1031368185674017505 7263197708536716267 14239370791222150808 146482920919415220 17250529541921412624 16073012951843647214 14426094333257632462 9475986787147068259 17618123199330645299 7007181348027660953 7868744985222980634 24008326611725469 109704767314001231...
result:
ok 5000 lines
Test #12:
score: 0
Accepted
time: 29ms
memory: 96712kb
input:
5000 5000 rreurrrrkodwxsvtckttkrreurrrrtvjqcbspphhcmqjjadnkvdhavzhasjorreurrrrkodwxsvtckttkrreurrrrdhzorreurrrrkodwxsvtckttkrreurrrrtvjqcbspphhcmqjjadnkvdhavzhasjorreurrrrkodwxsvtckttkrreurrrrxgpkocctymfhcjougjsvimxuwczjxyhasapncenwpvkvtrmcdhkfjmndumgccngxginwyjhwexjeujrnvfaznvonweytryeeoocesoxavgaw...
output:
11585208823777493396 6508373161762025375 8952030838195753202 1744593196955201879 7361869313836500243 4211703722346758091 11507326811546869387 12152026172660216436 6502452509264613488 16456537462830488502 7769483154726766332 5049920983662723085 6208254085958990276 1561961237223372279 2581189727041718...
result:
ok 5000 lines
Test #13:
score: 0
Accepted
time: 27ms
memory: 98700kb
input:
5000 5000 bdybdbdybdbdybbdybdbdybdbdybbdybdbdybdbdybbdybdbdybdybdbdybdbdybbdybdbdybdbdybbdybdbdybdybdbdybdybdbdybdybdbdybdbdybbdybdbdybdybdbdybdybdbdybdbdybbdybdbdybdybdbdybdbdybbdybdbdybdybdbdybdbdybbdybdbdybdbdybbdybdbdybdybdbdybdbdybbdybdbdybdbdybbdybdbdybdbdybbdybdbdybdybdbdybdbdybbdybdbdybdybdb...
output:
15484750028865001809 11154229346905269019 17415778058314228645 12967502341758445430 14197547387946783600 16593119823307221414 3430123628603013461 15944735630911629097 3372966924712269006 16370170534370111687 7776152546511005126 10081736260495879969 3361043444817366723 14159037165445633566 4790222378...
result:
ok 5000 lines
Test #14:
score: 0
Accepted
time: 15ms
memory: 100356kb
input:
5000 5000 gskozovzgkcfxgrjipkmaurpgskozovzgkcfxuetjsdskistgkrkxbvpwljcjmnamkcdqmeteslgskozovzgkcfxgrjipkmaurpgskozovzgkcfxgskozovzgkcfxgrjipkmaurpgskozovzgkcfxuetjsdskistgkrkgskozovzgkcfxgrjipkmaurpgskozovzgkcfxuetjsdskistgkrkxbvpwljcjmnamkcdqmeteslgskozovzgkcfxgrjipkmaurpgskozovzgkcfxgskozovzgkcfxg...
output:
5804930040756324744 15650208817097681461 11355021187259627510 6741010156229702848 11225541410427015147 1272653894362217625 8025793205090026227 17985669688971641284 17805739950886098400 15447039299473890938 13822612697353510946 16409494890413019301 10397340813113479673 11748441386197961568 1796390231...
result:
ok 5000 lines
Subtask #3:
score: 12
Accepted
Dependency #2:
100%
Accepted
Test #15:
score: 12
Accepted
time: 182ms
memory: 103276kb
input:
5000 100000 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
output:
5845120425902525283 8990351971173725430 14941690660751686216 784971306663465014 14729108738538674226 9552307739797797498 3551599368844499432 3212787150504387790 8594382131237834529 16887368685328314652 5586192237324217034 12381470524748547090 1961055982585971300 13257376816999825159 3385756250295802...
result:
ok 100000 lines
Test #16:
score: 0
Accepted
time: 208ms
memory: 121584kb
input:
5000 100000 zszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszsz...
output:
6562601476817760642 14709581653641444765 9409514199652887849 1924538160632758838 17897337138111675903 1975397273527783519 13274213676273801656 8009127032396458673 9591302157173387437 18119146874472923823 15782499870277277289 11636466062577654014 546407330026126536 10909019039006063801 93801623445947...
result:
ok 100000 lines
Test #17:
score: 0
Accepted
time: 183ms
memory: 111480kb
input:
5000 100000 aaabaababbaabbabbbbbaaaabbbaabbbabbbabbbaabbbaabaabaaaabaabaabbaaababbbaaabbbabaaaaaabbaabbaaaaabbabbbabbbbbabbbababbaaabaaaaaaabaabaababbbbbabbaaabaabbaaabbabaaabbbaababaabaaabbaaaabbaaaababbbabbbbbbbaabaaaaaababbabbaaaaabaabbabbbbabbaabaabbaababababaaababbabababaababaabbbbaabbabbbbbbab...
output:
11369154519759229860 4816215756710773384 3084732770343768553 10732762141345713077 14000239080983316632 16200318140719862417 18415957533979700960 11666828489766775249 7557237538164660145 12066865066865017056 4022628382393625882 6542768028027630058 7453110102118375125 6215432807518544623 1341251603998...
result:
ok 100000 lines
Test #18:
score: 0
Accepted
time: 165ms
memory: 107924kb
input:
5000 100000 ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss...
output:
12902464409189323146 2112106874663835270 17874290669032515261 17889078556270410717 1153359439408633103 17496184927378147549 4218582814297155576 12182030755254116397 2311499738865929178 12069095198538404628 11646473706806926093 13424856046086967932 13546170125890126237 9125301078493922531 68650470543...
result:
ok 100000 lines
Test #19:
score: 0
Accepted
time: 191ms
memory: 116928kb
input:
5000 100000 dsdsuhzydsdsdsdsuhzydsdsdsdsuhzfazkbverpxygzgkcipdngvfodgbvdwvdcnagozflmjmjxnrfkztjxydrvwnohnammcifwrzihsjrfqloicsbyoucgodrlhkfdcmewnvyknniwanjorbalalfnxcwpdgnjvckpfwiquowfbwyubiphcgdoeugnkgboxjghwnywvtoagnpcayzktfwjfkyoyugsixnzqxbdewksqlptdtccjcylijygcqpijlyzpdwgogimckuiwpblahhdwdvcolat...
output:
17973645912833898991 7920996292859300124 5299634393547051688 10638989442697924380 13765138548894885884 14315544494079078106 16026493056526540469 3470444440646718742 10617228587373799972 15918849430547099913 5762853815067753616 2006844376064461744 17275381263004882135 13029693802685627826 17254948448...
result:
ok 100000 lines
Test #20:
score: 0
Accepted
time: 243ms
memory: 121092kb
input:
5000 100000 juptjujuptjujuptjujuptjjuptjuptjujuptjujuptjujuptjjuptjuptjujuptjujuptjujuptjjuptjuptjujuptjujuptjujuptjjuptjujuptjujuptjujuptjjuptjuptjujuptjujuptjujuptjjuptjujuptjujuptjujuptjjuptjuptjujuptjujuptjujuptjjuptjuptjujuptjujuptjujuptjjuptjuptjujuptjujuptjujuptjjuptjujuptjujuptjujuptjjuptjup...
output:
18267505777322887551 6333102135713239606 16183163337491726230 12497707919138107517 10288177664292055269 2374663421415104796 8447031726445859124 729526387853373214 10656604364796015293 18372151029886143661 7570280658130472160 13718608135347138899 3232065209582597207 6232281250704478408 20251182204435...
result:
ok 100000 lines
Test #21:
score: 0
Accepted
time: 223ms
memory: 120752kb
input:
5000 100000 mkubtkmkubmkubtkmkubmmkubtkmkubmkubtkmkubmmkubtkmkubmkubtkmkubmkubtkmkubmkubtkmkubmkubtkmkubmkubtkmkubtkmkubmkubtkmkubmkubtkmkubmkubtkmkubmkubtkmkubmkubtkmkubtkmkubmkubtkmkubmkubtkmkumkubtkmkubmkubtkmkubmkubtkmkubmkubtkmkubmkubtkmkubmkubtkmkubtkmkubmkubtkmkubmmkubtkmkubmkubtkmkubmmkubtkm...
output:
3030152804383651335 10499427113700581790 6859389313460158725 14628078058009393408 10634510135060870544 10010679243232673967 3099979833209629692 17573249651863059678 6127876367842094402 18346012870020826699 3929455974939673152 11565336593151678792 1047943649566503057 12198912032089561963 708160318405...
result:
ok 100000 lines
Subtask #4:
score: 6
Accepted
Test #22:
score: 6
Accepted
time: 609ms
memory: 245856kb
input:
100000 100000 zbbabaabbaababbabaababbaabbabaabbaababbaabbabaababbabaabbaababbabaababbaabbabaababbabaabbaababbaabbabaabbaababbabaababbaabbabaabbaababbaabbabaababbabaabbaababbaabbabaabbaababbabaababbaabbabaababbabaabbaababbabaababbaabbabaabbaababbaabbabaababbabaabbaababbabaababbaabbabaababbabaabbaabab...
output:
16102224067619618967 2409962914769200003 427496158535942638 17668679206267169316 9612725428377010375 16283030984784184667 14966758574838045581 8108029333542434517 5821899279772898061 7354415533246368927 15016230232022193055 9072126619623269970 5490256818353051548 432088324301719512 13681741566473101...
result:
ok 100000 lines
Test #23:
score: 0
Accepted
time: 537ms
memory: 233016kb
input:
100000 100000 zsyysysyysyysysyysysyysyysysyysyysysyysysyysyysysyysysyysyysysyysyysysyysysyysyysysyysyysysyysysyysyysysyysysyysyysysyysyysysyysysyysyysysyysysyysyysysyysyysysyysysyysyysysyysyysysyysysyysyysysyysysyysyysysyysyysysyysysyysyysysyysyysysyysysyysyysysyysysyysyysysyysyysysyysysyysyysysyysy...
output:
4559870725517531243 7294838067589907718 11611591353940805930 6570123277626119382 7422995984298182834 5907659314847245750 16910510485299347733 4264602948914788684 13190214217087942183 6600183534290302450 18342681242733610030 11565497126186922166 17128453730139037795 1670830382187028213 18164994643596...
result:
ok 100000 lines
Test #24:
score: 0
Accepted
time: 610ms
memory: 243084kb
input:
100000 100000 zoooooooollexlwockjmmpcsmrmxbcsxiopbhrsgmuffubpextcneqsmtouhuovwmosufyvtciwaiqfgxdjgebcnwbeyyyascjixpskyeyoecigpydkqrssvcwcuirkwyxxbcfgjdorrrgdghdooooooooofnkxriqwewxjgitnhfrykdhcrpbgmcnqujvlugcougvywjyjknbcfqdohyxidpswedsqodaqavibkmrykeiqfmoyavdcctpjvqomwmhjysbynqskjvprebydvglxmnqsvxy...
output:
812998614822431625 1250302312590066903 0 17068288240276554944 8822011249064016718 5154878686056167322 16634251694703169315 7627132526351165031 17489820411768677459 1612901206518396247 9557606214238964493 8125053178366415794 6923591044772654970 16010694286126551160 0 11810757301219826743 180907391938...
result:
ok 100000 lines
Subtask #5:
score: 0
Wrong Answer
Dependency #4:
100%
Accepted
Test #25:
score: 16
Accepted
time: 300ms
memory: 201628kb
input:
100000 100000 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
output:
15893638524428831028 10131593916133042820 10131593916133042820 1813611689029665142 15893638524428831028 10131593916133042820 1813611689029665142 10131593916133042820 9834492063345021236 9834492063345021236 15893638524428831028 9834492063345021236 9834492063345021236 10131593916133042820 158936385244...
result:
ok 100000 lines
Test #26:
score: 0
Accepted
time: 667ms
memory: 203252kb
input:
100000 100000 zszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzsz...
output:
14439422629921813482 7264444986505301195 8399425172162457504 17048555139745491862 16735123042057153971 12928309510252812093 16135471956121714472 17826672489979253119 16258051235616677222 8446479705050496657 7223602662161126632 1971470682186795478 8333561403870758533 863416755415237407 70175023211500...
result:
ok 100000 lines
Test #27:
score: -16
Wrong Answer
time: 1339ms
memory: 235912kb
input:
100000 100000 abaabbbbabbbbabaabaaabbbaabbbabbabbbbbbbbbbbbbbbbbaabbaaaabbabbbbaaaabbbbbabbbabaaabbabbbbabababaabbabbaaaaaabbababaaaabbaaaaaaababaabaabbaaaaaabbaababbbbbabbaababbaaaabaaaabbabaaaaabababbaabababbbbbbbaabaabaaaabbbbbbbbabbbaaabababaaaabbbabbaaabbbbaaaabbaabaaaabababaaabbbabbababaaaabaa...
output:
10348496775022677298 12511671250199152445 13872505305538169853 2767495791949090701 11535776221933150702 16263435910894651648 10120655890750471139 12260508507784435643 1339500102427367364 4902372664266247810 1170842149015283078 16881711901865165778 16676861468327607676 14417665981067338986 1021274668...
result:
wrong answer 4th lines differ - expected: '16611708808942759173', found: '2767495791949090701'
Subtask #6:
score: 21
Accepted
Dependency #2:
100%
Accepted
Test #32:
score: 21
Accepted
time: 381ms
memory: 150044kb
input:
50000 50000 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
output:
13269096317706118936 13364092102458019282 11376391868865206552 1094377412945361154 9056388702243909493 82105799985257879 17182641056896567446 14316363828496003160 9626086986346678277 11560172834899518015 1020430840838697735 4343748727596163876 16204403958929331193 891094799420978044 2316253303381258...
result:
ok 50000 lines
Test #33:
score: 0
Accepted
time: 241ms
memory: 148992kb
input:
50000 50000 zszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszszzszzszszzszzszszzszszzszzszszzszsz...
output:
4237938523885030135 3833034064462349117 1564974629786811946 12920324211147501808 18179999908047669003 4630386596658250331 9838139503830086541 11349881273266835004 5043000800695555156 13467981618322757141 17434898577205498500 1948191733975586730 10757357245284270200 932094036866851608 524855818778353...
result:
ok 50000 lines
Test #34:
score: 0
Accepted
time: 408ms
memory: 165164kb
input:
50000 50000 bbbbabbababbbbaaabaabbabaaaaabbbabbaaabbaabbbbbbbabbbabaabbaaaabbbbaabbaaabaabbbbbaabbbaabaababababbaaaabbbabbaaababbbaabbaababbbaabbbabbaaabbaabbaababaaaaaabbabbbaabbaababaaaabaabbababbbababbaaaaabbaaaaaabaabaaaaaaabaaabaaabbbbbabbbaabaabaabbbbbaabbbbbbaabbaaaaabbabaabbabbababbbabaaabab...
output:
12248848246506047878 17031650977997856247 10850273799528878295 6128819010520587745 18124065867193831917 3849445514529660324 13302298459889554315 3207469492611484915 5002499606645825671 18406730902329557752 17978970924607044320 6123592161882619282 4836879308933584212 6199530407818913391 9281581801863...
result:
ok 50000 lines
Test #35:
score: 0
Accepted
time: 387ms
memory: 175968kb
input:
50000 50000 oootooovvzykonrggbymbtwsfkrchfoootoooakntfccnehiujzhjaweiyvxceqofsvxqaooooootooovvzykonrggbymbtwsfkrchfoootoooakntfccnehiujzhjaweiyvxceqofsvxqaoootooovvzykonrggbymbtwsfkrchfoootooooootooovvzykonrggbymbtwsfkrchfoootoooakntfccnehiujzhjaweiyvxceqofsvxqaoootooovvzykonrggbymbtwsfkrchfoootoooo...
output:
8067049647678740909 5741216295870344751 13754019692598773280 9066288779290022726 2200760424666545656 2151237207279089116 7068767912843710876 11853244939688860791 2585676427480970185 17056867541496342835 3233776231017446659 18193699608616383168 17759574984084698950 8015498952317486244 210486295701966...
result:
ok 50000 lines
Test #36:
score: 0
Accepted
time: 247ms
memory: 150212kb
input:
50000 50000 ppppppppppppppppowmcpnqgewseoopahikauunnqppppppppppppppppppppppppppppppppowmcpnqgewseoopahikauunnqppppppppppppppppppppppppppppppppowmcpnqgewseoopahikauunnqppppppppppppppppppppppppppppppppowmcpnqgewseoopahikauunnqppppppppppppppppppppppppppppppppowmcpnqgewseoopahikauunnqppppppppppppppppppp...
output:
51794583796474115 11053562745070185458 7565381381849609864 5921602372943484848 295199301437591777 17682876458606598967 12283638055012578748 10028016940532224010 12280707734621300483 4567607604327230161 9265944137398914894 7877277810175332310 4085443666444907336 9983636025443477144 412166303422603798...
result:
ok 50000 lines
Test #37:
score: 0
Accepted
time: 412ms
memory: 174536kb
input:
50000 50000 kbaqkfkbaqkkbaqkfkbaqkfkbaqkkbaqkfkbaqkkbaqkfkbaqkfkbaqkkbaqkfkbaqkkbaqkfkbaqkkbaqkfkbaqkkbaqkfkbaqkfkbaqkkbaqkfkbaqkfkbaqkkbaqkfkbaqkkbaqkfkbaqkkbaqkfkbaqkfkbaqkkbaqkfkbaqkkbaqkfkbaqkfkbaqkfkbaqkkbaqkfkbaqkfkbaqkkbaqkfkbaqkkbaqkfkbaqkfkbaqkkbaqkfkbaqkfkbaqkkbaqkfkbaqkkbaqkfkbaqkkbaqkfkb...
output:
17970375494926392338 12095323229609304983 4838348238438045682 7896832791706480596 15801777241320381392 2613269683217070140 6750307536020385694 17578968051314786954 7071890741654526327 11777888914850373702 10371126746328222710 9225111419909586730 5233418903151184793 3559153106782003629 88002273517107...
result:
ok 50000 lines
Test #38:
score: 0
Accepted
time: 414ms
memory: 168504kb
input:
50000 50000 wczchwlmikhbatynoykqnlpvgrvcmhwwczchwwczchwlmikhbatynoykqnlpvgrvcmhwwczchwwczchwlmikhbatynoykqnlpvgrvcmhwwczchwwczchwlwczchwlmikhbatynoykqnlpvgrvcmhwwczchwwczchwlmikhbatynoykqnlpvgrvcmhwwczchwwczchwlmikhbatynoykqnlpvgrvcmhwwczchwwczchwlwczchwlmikhbatynoykqnlpvgrvcwczchwlmikhbatynoykqnlpv...
output:
9955808898657938873 9533883890050672203 10690998759589418950 9471164592952706666 7299641810335145529 6309781417747669437 4082441117491422445 4934885417791103418 15925582270699573710 13486949031657547751 17744294055037313886 91411657720314940 3596893767579200587 5390402652470122954 979172649554871390...
result:
ok 50000 lines
Test #39:
score: 0
Accepted
time: 414ms
memory: 170564kb
input:
50000 50000 liltqjsijecxwfcrdrkybnfbfhmhjuogkofjslilliltqjsijecxwfcrdrkybnfbfhmhjuogkofjslilliltqjsijecxwfcrdrkyliltqjsijecxwfcrdrkybnfbfhmhjuogkofjslilliltqjsijecxwfcrdrkybnfbfhmhjuogkofjslilliltqjsijecxwfcrdrkyliltqjsijecxwfcrdrkybnfbfhmhjuogkofjslilliltqjsijecxwfcrdrkybnfbfhmhjuogkofjslilliltqjsi...
output:
5295789551533412904 11902462756886554866 14174119852491973322 2578584552809877758 6677596551013613598 13549026901511251027 13331834079319421777 6767132243067017162 15283176029526709990 14745745108108921682 10970164499759796748 8693690725620855205 14006955433326774810 1962234690870718380 252292361968...
result:
ok 50000 lines
Test #40:
score: 0
Accepted
time: 359ms
memory: 167792kb
input:
50000 50000 kfiyzelyfkfkfiyzelyfkfkfiyzelyfkkfiyzelyfkfkfiyzelyfkfkfiyzelyfkkfiyzelyfkfkfiyzelyfkfkfiykfiyzelyfkfkfiyzelyfkfkfiyzelyfkkfiyzelyfkfkfiyzelyfkfkfiyzelyfkkfiyzelyfkfkfiyzelyfkfkfiykfiyzelyfkfkfiyzelyfkfkfiyzelyfkkfiyzelyfkfkfiyzelyfkfkfiyzelyfkkfiyzelyfkfkfiyzelyfkfkfidfsnttbzbzhdzbsefmy...
output:
2137564112504500471 13384962074496718838 8861041791832821050 5382348576894645764 11485591274832865082 10491940739304940907 16086770156705272372 6093079736128706269 14128234100034370389 7613185951924987038 16031691450592247725 13914845735713173384 14065343856564034990 11068711820746250220 17752382725...
result:
ok 50000 lines
Test #41:
score: 0
Accepted
time: 321ms
memory: 162696kb
input:
50000 50000 vzvwvzvzvwvzsivdmnzexgesxqsvskrnqudivzvwvzvzvwvzxrrxdcmgmeumbveouutpmoycaprqagjxljnldnudaubwjahoaaxmanlyhtjafulukbyjoappfnialbhxpftapljvzvwvzvzvwvzsivdmnzexgesxqsvskrnqudivzvwvzvzvwvzbtkgujkxtjlrgxqdgcolbaeuagvcasxadywrvimekqeurqhuyupnahepvaxygoervnikfnogtafnogmhjfudxhaoedpfipabtljviymlc...
output:
4979696733531166254 16302029969510545424 12929201732123214407 10901154523404716731 1130690503717637813 16274176025504454224 10454018091815087766 13198128587305610041 18417495145286661218 1332670387145093726 2644025069823347321 13562615436903817336 555519908022234403 15491627965531098998 534882027265...
result:
ok 50000 lines
Subtask #7:
score: 0
Skipped
Dependency #3:
100%
Accepted
Dependency #5:
0%