QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#219352 | #5037. 回文 | chenxinyang2006 | 10 | 39ms | 32460kb | C++14 | 9.8kb | 2023-10-19 13:09:49 | 2023-10-19 13:09:50 |
Judging History
answer
#include <bits/stdc++.h>
#define rep(i,j,k) for(int i=(j);i<=(k);i++)
#define per(i,j,k) for(int i=(j);i>=(k);i--)
#define uint unsigned int
#define ll long long
#define ull unsigned long long
#define db double
#define ldb long double
#define pii pair<int,int>
#define pll pair<ll,ll>
#define mkp make_pair
#define eb emplace_back
#define SZ(S) (int)S.size()
//#define mod 998244353
//#define mod 1000000007
#define inf 0x3f3f3f3f
#define linf 0x3f3f3f3f3f3f3f3f
using namespace std;
template <class T>
void chkmax(T &x,T y){
if(x < y) x = y;
}
template <class T>
void chkmin(T &x,T y){
if(x > y) x = y;
}
inline int popcnt(int x){
return __builtin_popcount(x);
}
inline int ctz(int x){
return __builtin_ctz(x);
}
ull seed = 'x' + 'a' + 'y' + 't' + 'x' + 'd' + 'y';
ull rnd(){
seed = seed * 1145141 + 1011451423;
return seed;
}
int n,Q;
char s[200005];
ull P[2][200005];
#define base 127
#define ibase 9150747060186627967llu
const int B = 447;
inline int from(int x){return (x + B - 1) / B;}
inline int L(int x){return x * B - B + 1;}
inline int R(int x){return x * B;}
ull val[2][300005],tag[2][450];
void init(){
rep(i,1,n) val[0][i] = val[0][i - 1] + P[0][i] * s[i];
rep(i,1,n) val[1][i] = val[1][i - 1] + P[0][i] * s[n + 1 - i];
}
void upd(int op,int pos,ull C){
int fp = from(pos);
rep(k,pos,R(fp)) val[op][k] += C;
rep(k,fp + 1,from(n)) tag[op][k] += C;
}
ull qry(int op,int pos){
return val[op][pos] + tag[op][from(pos)];
}
void mdf(int pos,int C){
upd(0,pos,P[0][pos] * C);
upd(1,n - pos + 1,P[0][n - pos + 1] * C);
}
int rev;//rev 表示查询的都是反信息
int curL,curR;
ull _getval(int l,int r){
return (qry(0,r) - qry(0,l - 1)) * P[1][l];
}
ull _getvalrev(int l,int r){
l = n - l + 1;r = n - r + 1;
swap(l,r);
return (qry(1,r) - qry(1,l - 1)) * P[1][l];
}
int check(int l,int r){
if(l < curL || r > curR) return 0;
if(rev){
l = n - l + 1;r = n - r + 1;
swap(l,r);
}
return (_getval(l,r) == _getvalrev(l,r));
}
ull getval(int l,int r){
if(l < curL || r > curR) return rnd();
if(rev) return _getvalrev(n - r + 1,n - l + 1);
return _getval(l,r);
}
ull getvalrev(int l,int r){
if(l < curL || r > curR) return rnd();
if(rev) return _getval(n - r + 1,n - l + 1);
return _getvalrev(l,r);
}
ull getval2(int l,int d){
return getval(l,l + d - 1);
}
ull getvalrev2(int r,int d){
return getvalrev(r - d + 1,r);
}
int check2(int l,int r){//拓展到右端点 curR
return check(l + r - curR,curR);
}
struct info{
int l,r,d;
};
struct node{
vector <info> pre,suf;//维护所有起始终止点
int l,r;
}tree[510005];
#define ls (rt * 2)
#define rs (rt * 2 + 1)
int __frp;
int m;
info tmp[205];
void maintain(vector <info> &S){
m = 0;
if(__frp){
cerr << "before maintain\n";
for(info I:S) cerr << I.l << " " << I.r << " " << I.d << endl;
}
for(info I:S){
if(I.l == I.r) I.d = 0;
if(!m){
tmp[++m] = I;
continue;
}
if(!tmp[m].d || tmp[m].d == tmp[m].l - I.r){
tmp[m].d = tmp[m].l - I.r;
tmp[m].l = I.r;
if(I.d) I.r -= I.d;
else continue;
if(I.l == I.r) I.d = 0;
}else{
tmp[++m] = I;
continue;
}
// cerr << "tm\n";
// cerr << I.l << " " << I.r << " " << I.d << endl;
if(tmp[m].l - I.r == tmp[m].d){
tmp[m].l = I.l;
continue;
}else{
tmp[++m] = I;
}
}
S.clear();
rep(i,1,m) S.eb(tmp[i]);
if(__frp){
cerr << "result:\n";
rep(i,1,m) cerr << tmp[i].l << " " << tmp[i].r << " " << tmp[i].d << endl;
}
}
vector <info> answer;
void mrg(node &p,node &q){
assert(p.r + 1 == q.l);
if(__frp){
cerr << '[' << p.l << "," << p.r << "] [" << q.l << "," << q.r << "]\n";
cerr << "psuf\n";
for(info I:p.suf) cerr << I.l << " " << I.r << " " << I.d << endl;
cerr << "qpre\n";
for(info I:q.pre) cerr << I.l << " " << I.r << " " << I.d << endl;
cerr << "qsuf\n";
for(info I:q.suf) cerr << I.l << " " << I.r << " " << I.d << endl;
}
answer = q.suf;
info cur = answer.back();
if(cur.l == q.l){
if(cur.l == cur.r){
answer.pop_back();
}else{
cur.l += cur.d;
answer.pop_back();
answer.eb(cur);
}
}
curL = p.l;curR = q.r;
int pl,pr,k,pos;
reverse(q.pre.begin(),q.pre.end());
for(info I:q.pre){
if(I.l == I.r){
pl = q.l - (q.r - I.l);
pr = q.r;
// if(__frp) cerr << "check range" << pl << " " << pr << endl;
if(check(pl,pr)) answer.push_back({pl,pl,0});
continue;
}
k = (I.r - I.l) / I.d;
pl = I.r + 1;pr = q.r;
if(pr - pl + 1 <= I.d && getval(I.l + 1,I.l + 1 + pr - pl) == getval(pl,pr)){//[pl,pr] 是 [I.l + 1,I.l + I.d] 的前缀
pos = 0;
// if(__frp) cerr << p.r << " " << I.l + 1 << endl;
per(_k,__lg(k),0) if(pos + (1 << _k) <= k && getvalrev2(p.r,(pos + (1 << _k)) * I.d) == getval2(I.l + 1,(pos + (1 << _k)) * I.d)) pos += 1 << _k;
// if(__frp) cerr << getvalrev2(8,6) << " " << getval2(10,6) << endl << "!!" << pos << endl;
// if(__frp) cerr << "prefix! " << pos << endl;
if(pl > pr || getvalrev2(p.r - pos * I.d,pr - pl + 1) == getval(pl,pr)) pos++;
pos--;
pos = k - pos;
// if(__frp) cerr << pos << endl;
if(pos <= k) answer.push_back({q.l + I.l - q.r + pos * I.d,q.l + I.l - q.r + k * I.d,I.d});
}else{
pos = 0;
per(_k,__lg(k),0) if(pos + (1 << _k) <= k && getvalrev2(p.r,(pos + (1 << _k)) * I.d) == getval2(I.l + 1,(pos + (1 << _k)) * I.d)) pos += 1 << _k;
if(check2(q.l,I.l + I.d * (k - pos))){
pl = q.l + I.l + I.d * (k - pos) - q.r;
answer.push_back({pl,pl,0});
}
}
}
reverse(q.pre.begin(),q.pre.end());
if(check2(p.r,q.l)){
pl = p.r + q.l - q.r;
answer.push_back({pl,pl,0});
}
if(__frp){
cerr << "partical result:\n";
for(info I:answer) cerr << I.l << " " << I.r << " " << I.d << endl;
}
for(info I:p.suf){
if(I.l == I.r){
pl = I.l + p.r - q.r;
pr = q.r;
// cerr << "check " << pl << " " << pr << endl;
if(check(pl,pr)) answer.push_back({pl,pl,0});
continue;
}
k = (I.r - I.l) / I.d;
pos = 0;
per(_k,__lg(k),0) if(pos + (1 << _k) <= k && getvalrev2(I.r - 1,(pos + (1 << _k)) * I.d) == getval2(q.l,(pos + (1 << _k)) * I.d)) pos += 1 << _k;
pl = q.l + pos * I.d;
pr = q.r;
if(pr - pl + 1 <= I.d && getvalrev2(I.r - 1,pr - pl + 1) == getval(pl,pr)){
if(__frp) cerr << "!!" << pos << endl;
if(k - pos > 0) answer.push_back({I.r - (k - pos - 1) * I.d + p.r - q.r,I.r + p.r - q.r,I.d});
}
if(check2(I.r - (k - pos) * I.d,p.r)){
pl = I.r - (k - pos) * I.d + p.r - q.r;
answer.push_back({pl,pl,0});
}
}
/* if(__frp){
cerr << "result:\n";
for(info I:answer) cerr << I.l << " " << I.r << " " << I.d << endl;
}*/
maintain(answer);
if(__frp){
cerr << "result:\n";
for(info I:answer) cerr << I.l << " " << I.r << " " << I.d << endl;
}
}
void rever(vector <info> &p){
for(info &I:p){
I.l = n + 1 - I.l;
I.r = n + 1 - I.r;
swap(I.l,I.r);
}
}
node operator +(node &p,node &q){
node ans;
rev = 0;
ans.l = curL = p.l;ans.r = curR = q.r;
// if(p.l == 2 && q.r == 15) __frp = 1;
// else __frp = 0;
if(__frp) cerr << "merge suffix:\n";
mrg(p,q);
ans.suf = answer;
// __frp = 0;
/* if(p.l == 1 && q.r == 4){
__frp = 1;
cerr << "merge prefix:\n";
}*/
// __frp = 0;
if(__frp) cerr << "merge prefix:\n";
node tp = p,tq = q;
rever(tp.pre);rever(tp.suf);
rever(tq.pre);rever(tq.suf);
swap(tp.pre,tq.suf);
swap(tp.suf,tq.pre);
tp.l = n + 1 - tp.l;tp.r = n + 1 - tp.r;
tq.l = n + 1 - tq.l;tq.r = n + 1 - tq.r;
swap(tp.l,tq.r);swap(tp.r,tq.l);
rev = 1;
mrg(tp,tq);
rever(answer);
ans.pre = answer;
return ans;
}
void print(node &p){
cerr << "range [" << p.l << "," << p.r << "] info\n";
cerr << "pre palin\n";
for(info I:p.pre) cerr << I.l << " " << I.r << " " << I.d << endl;
cerr << "suf palin\n";
for(info I:p.suf) cerr << I.l << " " << I.r << " " << I.d << endl;
}
void build(int rt,int l,int r){
if(l == r){
tree[rt].l = tree[rt].r = l;
tree[rt].pre.push_back({l,l,0});
tree[rt].suf.push_back({l,l,0});
// print(tree[rt]);
return;
}
int mid = (l + r) >> 1;
build(ls,l,mid);build(rs,mid+1,r);
tree[rt] = tree[ls] + tree[rs];
// print(tree[rt]);
}
void modify(int rt,int l,int r,int pos){
if(l == r){
tree[rt].l = tree[rt].r;
tree[rt].pre.clear();tree[rt].suf.clear();
tree[rt].pre.push_back({l,l,0});
tree[rt].suf.push_back({l,l,0});
return;
}
int mid = (l + r) >> 1;
if(pos <= mid) modify(ls,l,mid,pos);
else modify(rs,mid+1,r,pos);
tree[rt] = tree[ls] + tree[rs];
}
node result;
void query(int rt,int l,int r,int L,int R){
if(l == L && r == R){
if(!result.l) result = tree[rt];
else result = result + tree[rt];
return;
}
int mid = (l + r) >> 1;
if(R <= mid){
query(ls,l,mid,L,R);
}else if(L > mid){
query(rs,mid+1,r,L,R);
}else{
query(ls,l,mid,L,mid);
query(rs,mid+1,r,mid+1,R);
}
}
int solve(int l,int r){
// __frp = 1;
result.l = result.r = 0;
query(1,1,n,l,r);
// __frp = 0;
int _result = 0;
for(info I:result.suf){
if(I.d) _result += (I.r - I.l) / I.d + 1;
else _result++;
}
return _result;
}
int main(){
// freopen("test.in","r",stdin);
// freopen("test.out","w",stdout);
scanf("%s",s + 1);
n = strlen(s + 1);
P[0][0] = P[1][0] = 1;
rep(i,1,n){
P[0][i] = P[0][i - 1] * base;
P[1][i] = P[1][i - 1] * ibase;
}
init();
build(1,1,n);
// printf("qwq\n");
int lastans = 0,op,l,r;
char ch;
scanf("%d",&Q);
rep(i,1,Q){
scanf("%d",&op);
if(op == 1){
scanf("%d",&l);
l ^= lastans;
assert(1 <= l && l <= n);
do{
scanf("%c",&ch);
}while(ch < 'a' || ch > 'z');
mdf(l,ch - s[l]);
s[l] = ch;
modify(1,1,n,l);
}else{
scanf("%d%d",&l,&r);
l ^= lastans;r ^= lastans;
assert(1 <= l && l <= r && r <= n);
lastans = solve(l,r);
printf("%d\n",lastans);
}
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 10
Accepted
Test #1:
score: 10
Accepted
time: 22ms
memory: 32448kb
input:
aabbbabbbaaaaaaabbabbbaaaabaaaabbaabbaabbaaababbbabbbbabbbbaaaabbbabbbbbaaabbbabbaaaaabbbbbaaababbabbaaaaabaabbbbaaababaaabbaabbabbbabbbbaaaaabbbbbbbabbbaabbbabbabbbababbabbbbaaaaabbaababbbbaabbaaaaaabaaabbbaaababbbbaabaaaaababababbbbbbaaaabbbbaaababaaabbaabbbbbaaaabbaaaabaaaaaababbababaaaabaaababaa...
output:
2 3 5 3 3 3 2 3 4 2 4 2 4 2 3 3 3 2 2 2 2 2 2 3 4 2 2 3 2 2 4 3 3 2 3 3 4 3 3 4 4 2 3 4 2 2 4 2 4 3 2 2 2 3 3 3 4 4 3 3 2 3 3 2 3 3 4 2 2 4 2 3 2 3 3 2 3 2 2 3 2 2 3 6 2 2 3 7 4 3 2 2 2 2 3 4 4 4 4 2 2 3 2 4 2 2 2 3 3 2 2 2 2 3 3 4 3 2 3 3 2 2 4 5 4 2 2 5 3 3 3 3 2 4 2 3 2 3 3 3 2 4 4 5 2 2 3 5 3 3 ...
result:
ok 2509 tokens
Test #2:
score: 0
Accepted
time: 28ms
memory: 32404kb
input:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
output:
188 1078 673 914 360 4255 2205 3628 77 3608 230 494 128 848 801 1335 4079 3059 636 2882 3524 45 1174 506 3570 4172 1289 595 3829 1532 179 1274 2574 1098 2817 226 2580 887 989 1829 3656 181 2056 3315 786 117 2519 2742 3787 1080 3138 686 1605 239 1533 2658 2096 753 3400 219 1815 117 1645 52 1671 121 2...
result:
ok 2519 tokens
Test #3:
score: 0
Accepted
time: 37ms
memory: 32396kb
input:
bbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbbbbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbbbbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbbbbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbbabbba...
output:
12 8 12 24 30 18 11 8 32 18 10 32 26 11 11 15 18 6 18 19 13 21 10 13 20 16 10 10 10 9 16 11 32 14 24 20 29 15 10 17 10 8 8 22 31 9 9 18 25 10 14 16 22 24 15 15 11 13 33 7 13 21 7 19 12 12 17 7 23 15 2 10 16 15 9 14 6 18 10 8 18 20 21 5 11 18 3 17 13 17 8 11 17 7 6 7 11 10 9 20 9 28 19 10 14 11 24 8 ...
result:
ok 5000 tokens
Test #4:
score: 0
Accepted
time: 29ms
memory: 32404kb
input:
mkmamkmlmkmamkmnmkmamkmlmkmamkmamkmamkmlmkmamkmnmkmamkmlmkmamkmumkmamkmlmkmamkmnmkmamkmlmkmamkmamkmamkmlmkmamkmnmkmamkmlmkmamkmkmkmamkmlmkmamkmnmkmamkmlmkmamkmamkmamkmlmkmamkmnmkmamkmlmkmamkmumkmamkmlmkmamkmnmkmamkmlmkmamkmamkmamkmlmkmamkmnmkmamkmlmkmamkmpmkmamkmlmkmamkmnmkmamkmlmkmamkmamkmamkmlmkma...
output:
5 8 5 6 5 6 7 7 5 8 5 5 6 5 9 6 5 6 7 8 5 5 8 6 4 5 8 5 8 4 6 4 5 6 5 1 5 7 4 5 7 3 5 8 9 6 4 5 5 4 7 7 5 7 8 7 6 5 7 1 5 5 6 6 6 6 7 6 6 4 5 5 6 3 8 7 5 6 6 7 4 4 7 7 6 6 7 8 6 7 7 4 7 6 8 3 5 7 3 6 7 6 4 7 6 4 5 6 6 4 6 7 4 5 5 5 4 4 5 6 3 4 4 5 4 7 5 4 9 6 5 5 3 4 5 8 4 5 5 6 4 6 6 6 4 9 7 4 6 6 ...
result:
ok 5000 tokens
Test #5:
score: 0
Accepted
time: 28ms
memory: 32448kb
input:
babababababababababababababababababababababababababababababababbbabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababbbabababababababababababababababababababababababababababababababbbabababababababababababababababababababababa...
output:
58 13 6 23 52 35 39 46 17 43 37 33 31 8 51 12 9 52 57 14 28 17 31 21 59 50 55 50 18 10 54 7 44 11 10 3 12 19 9 8 5 7 22 4 38 15 10 14 26 11 21 18 33 12 3 8 23 34 41 18 7 18 26 7 12 29 34 6 4 15 16 20 15 8 50 23 7 51 18 4 11 7 20 14 33 19 12 9 10 6 8 21 28 22 21 18 12 18 4 15 17 13 8 16 7 14 10 4 5 3...
result:
ok 2443 tokens
Test #6:
score: 0
Accepted
time: 26ms
memory: 32384kb
input:
aaaaaaaabaabaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaabaabaaaaaaaa...
output:
43 25 18 13 12 27 16 18 22 24 13 20 34 18 5 27 26 27 8 10 6 9 9 14 22 15 34 25 19 24 19 18 13 7 21 14 2 33 7 46 16 18 19 12 25 8 7 14 22 2 2 12 19 3 20 15 18 10 8 8 8 12 5 12 18 22 7 15 16 36 21 11 11 14 8 13 12 2 5 40 14 15 2 5 11 4 12 16 11 9 9 6 6 18 16 11 15 18 13 15 8 24 19 9 5 15 18 8 13 5 31 ...
result:
ok 2498 tokens
Test #7:
score: 0
Accepted
time: 39ms
memory: 32436kb
input:
baabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabcaaaaaaaacbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabba...
output:
67 7 4 13 81 3 8 92 28 86 94 92 71 23 73 26 24 13 71 88 98 42 70 45 82 63 5 80 57 49 48 77 88 5 98 96 65 52 11 24 52 51 76 90 9 10 58 43 36 48 82 73 10 14 90 54 74 12 32 36 71 46 8 46 20 38 22 68 54 73 66 32 95 63 52 7 40 97 27 13 42 59 41 14 9 44 53 52 92 30 36 27 86 90 59 95 12 36 42 16 24 58 23 5...
result:
ok 5000 tokens
Test #8:
score: 0
Accepted
time: 29ms
memory: 32460kb
input:
caaccaaccaaccabccbaccaaccaaccaaccaaccaaccaaccabccbaccaaccaaccaaccaaccaaccaaccabccbaccaaccaaccaaccaaccaaccaaccabccbaccaaccaaccaaccaaccaaccaaccabccbaccaaccaaccaaccaaccaaccaaccabccbaccaaccaaccaaccaaccaaccaaccabccbaccaaccaaccaaccaaccaaccaaccabccbaccaaccaaccaaccaaccaaccaaccabccbaccaaccaaccaaccaaccaaccaac...
output:
10 10 11 11 11 10 10 10 8 10 11 11 9 9 10 10 10 11 10 11 9 10 10 11 11 11 10 11 11 11 11 11 11 11 11 10 10 10 10 11 11 11 10 11 10 10 10 11 10 10 10 10 10 11 11 11 11 10 11 11 11 10 11 11 11 10 10 7 11 11 10 11 10 10 11 10 11 10 10 7 11 11 10 10 11 11 10 10 2 11 11 11 5 11 11 11 11 11 10 10 10 11 11...
result:
ok 1667 tokens
Test #9:
score: 0
Accepted
time: 39ms
memory: 32452kb
input:
cabccabbbbbbaccbaccabccabbbbbbaccbaccabccabbbbbbaccbaccabccabbbbbbaccbaccabccabbbbbbaccbaccabccabbbbbbaccbaccabccabbbbbbaccbaccabccabbbbbbaccbaccabccabbbbbbaccbaccabccabbbbbbaccbaccabccabbbbbbaccbaccabccabbbbbbaccbaccabccabbbbbbaccbaccabccabbbbbbaccbaccabccabbbbbbaccbaccabccabbbbbbaccbaccabccabbbbbb...
output:
38 38 38 37 38 38 38 9 37 38 8 38 37 38 38 38 38 38 38 37 27 38 38 38 38 38 38 30 38 38 38 38 38 38 38 38 24 38 38 38 38 38 38 38 38 38 37 38 5 38 32 25 38 38 38 38 38 38 38 38 38 38 38 37 38 37 38 31 38 38 38 38 38 38 12 38 38 37 38 38 38 38 37 38 38 38 23 38 38 38 38 24 38 38 38 38 38 35 38 38 38 ...
result:
ok 1667 tokens
Test #10:
score: 0
Accepted
time: 27ms
memory: 32332kb
input:
baaabbbaaabbbbaaababbababbabbbbaaaababaababbbbababababbbaabbbaababaaaababbbaaabaaababbababaaabbabbbaaabbabbbabaabaaaababbbbabbbbbaabbabbaaaabaaabababbbaababbbaaaaaababbabaaabaaaabbbabbbaababbbbbbbbaabbbaabbabaabababbaabaabaabbbbbaaababbbbabbbababababaabbababaabbabbbbbbaaaaaaabaabbabbabaabbbbbaaaaaba...
output:
3 3 2 3
result:
ok 4 tokens
Test #11:
score: 0
Accepted
time: 21ms
memory: 32396kb
input:
abbaaabaabbbaabbabbbbbbaabbbbabbaabababaabbabbabaaabbabbbaaaabbabbaabbbabbbabbababaaaabbabbaabababbbaaababaababbabbaaabbbaabaaaaaabbbabbababaabbbbbabbbaaaaaaabbaaaabaaababbababaabaaabbbaaabbaabbabbabbbababbabbbbbbbbaabbabbbabbbbbbbababaabbbaabaabaabaaabababbaabbbbaaabbbbabbaabbbabbbababaababbabbabba...
output:
3 4 2 2 4 2 2 4 3 5 2 2 3 4 3 2 3 4 6 2 2 2 2 2 5 3 4 3 3 2 2 2 2 5 2 3 2 3 2 3 2 3 2 4 2 2 3 2 2 3 5 2 2 7 3 2 3 2 3 3 2 2 3 4 3 2 4 2 2 2 3 3 3 3 3 2 3 3 3 5 2 4 2 3 3 3 3 3 3 2 4 4 3 4 2 2 3 3 6 2 5 4 2 2 4 2 5 3 3 2 5 4 3 3 3 3 4 3 2 3 2 4 2 3 6 3 3 2 3 3 2 3 3 5 2 3 4 3 5 3 3 3 3 4 2 3 3 2 3 2 ...
result:
ok 4997 tokens
Test #12:
score: 0
Accepted
time: 13ms
memory: 32408kb
input:
lxxhwqorbxrdzedxlvymggyicczuafgyovixrzmptqfmjyjfpamcsehmfazbvfwdgeftgbtyurnnykwjhzfqqsyiyzkpwlmspjsxdkjtpgzbrvwwcjqejmuillhgtbhwtwmvhacfphrcgwoaihjzkuccmwuidivmpjcezbjywhbqtdgrhlrskcwmecflzpjbuutlocivcfvbcdvlnfchtvvcpoubnjwfwvzvpyvhkvxdmleyvucrondntpaonjybzarkgjnkuuvipkqgvwzzzopwyfnmodnmdziueescfttr...
output:
1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
result:
ok 2493 tokens
Test #13:
score: 0
Accepted
time: 26ms
memory: 32408kb
input:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
output:
849 1135 1444 1346 1445 536 3077 2631 1447 672 2214 2149 2090 4054 846 559 22 92 4224 161 2280 572 2347 2599 778 4093 750 3647 2142 642 474 1395 776 645 46 4141 2272 771 1564 207 4284 2896 3097 2829 306 1383 394 1776 1284 3933 102 510 1101 3639 1336 1292 2803 1159 601 1464 2585 673 281 1340 272 3310...
result:
ok 2478 tokens
Test #14:
score: 0
Accepted
time: 8ms
memory: 32372kb
input:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
output:
5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 ...
result:
ok 4999 tokens
Subtask #2:
score: 0
Runtime Error
Test #15:
score: 0
Runtime Error
input:
aabababbabbbbbbabbababaaaabababbabbbbbbabbababaaaabababbabbbbbbabbababaaaabababbabbbbbbabbababaabbbaaabbaabbbbaabbaaabbbaabababbabbbbbbabbababaaaabababbabbbbbbabbababaaaabababbabbbbbbabbababaaaabababbabbbbbbabbababaabbaaabaaaaaabaaabbaabababbabbbbbbabbababaaaabababbabbbbbbabbababaaaabababbabbbbbbabb...
output:
result:
Subtask #3:
score: 0
Runtime Error
Test #21:
score: 0
Runtime Error
input:
abbaaaabbabaaaaaabaabbaabbababbaaabbabbbabaabaabaaaaabaabbbbabbabbabbbababbbababababbbbabaabbaaababbbbbababbbbaabbbaaabaababababaabbbbbbaababaabbaaabaabbaaababbabbabbbbaaaaabaaabbbabbbbbbabbbabbabaabbbbbbbaaaabbaaaababbbaaaaaaababaabbbbaaabaaabbaabbbbbbababbaabbaaabbabbbbbabaababbaabaaaabbbbabababba...
output:
result:
Subtask #4:
score: 0
Runtime Error
Test #27:
score: 0
Runtime Error
input:
babbaaabbbbbbbabbbababaabbbbbababababbaabaabbbbbbabbbbbbbbbbababbbbabbaabbbaabaabbabbbaabbabbbabbababaababbbabbbbaabbabbabbaaaabbbaaabbbbaabbaaaaaaabbbabbbaaabaababaaabaaaabaaaababaaaaababaaaabaabbaaaabbbabbaabaabbbabbbbbaaabaababbbaaaaabbbbaaabbbbaabbabbbbabbbabbaaaaabaabaaaabbbabbbbbaabbbbabbbbaab...
output:
result:
Subtask #5:
score: 0
Runtime Error
Dependency #1:
100%
Accepted
Test #35:
score: 0
Runtime Error
input:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
output:
result:
Subtask #6:
score: 0
Skipped
Dependency #1:
100%
Accepted
Dependency #2:
0%