QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#641915 | #1219. 你的名字 | Elegia | 100 ✓ | 983ms | 418456kb | C++14 | 4.9kb | 2024-10-15 03:16:59 | 2024-10-15 03:17:05 |
Judging History
answer
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <ctime>
#include <cctype>
#include <algorithm>
#include <random>
#include <bitset>
#include <queue>
#include <functional>
#include <set>
#include <map>
#include <vector>
#include <chrono>
#include <iostream>
#include <limits>
#include <numeric>
#define LOG(FMT...) fprintf(stderr, FMT)
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
// mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
template<class T>
istream &operator>>(istream &is, vector<T> &v) {
for (T &x : v)
is >> x;
return is;
}
template<class T>
ostream &operator<<(ostream &os, const vector<T> &v) {
if (!v.empty()) {
os << v.front();
for (int i = 1; i < v.size(); ++i)
os << ' ' << v[i];
}
return os;
}
const int N = 500010;
const int TOTN = 1500010, A = 26;
namespace SAM {
int len[TOTN * 2], fail[TOTN * 2], ch[TOTN * 2][A];
int top;
int extend(int root, int o, int c) {
int p = ++top;
len[p] = len[o] + 1;
while (o && !ch[o][c]) {
ch[o][c] = p;
o = fail[o];
}
if (!o) {
fail[p] = root;
} else {
int q = ch[o][c];
if (len[q] == len[o] + 1) {
fail[p] = q;
} else {
int nq = ++top;
memcpy(ch[nq], ch[q], sizeof(int) * A);
len[nq] = len[o] + 1;
fail[nq] = fail[q];
fail[p] = fail[q] = nq;
while (ch[o][c] == q) {
ch[o][c] = nq;
o = fail[o];
}
}
}
return p;
}
}
namespace SEG {
struct Node {
int v, ls, rs;
} P[N * 25];
int top;
int build(int l, int r) {
int o = ++top;
if (l == r) return o;
int mid = (l + r) >> 1;
P[o].ls = build(l, mid);
P[o].rs = build(mid + 1, r);
return o;
}
int change(int o, int l, int r, int k, int x) {
int p = ++top;
memcpy(P + p, P + o, sizeof(Node));
P[p].v = x;
if (l == r) return p;
int mid = (l + r) >> 1;
if (k <= mid) P[p].ls = change(P[p].ls, l, mid, k, x);
else P[p].rs = change(P[p].rs, mid + 1, r, k, x);
return p;
}
int query(int o, int l, int r, int ql, int qr) {
if (l == ql && r == qr) return P[o].v;
int mid = (l + r) >> 1;
if (qr <= mid) return query(P[o].ls, l, mid, ql, qr);
if (ql > mid) return query(P[o].rs, mid + 1, r, ql, qr);
return max(query(P[o].ls, l, mid, ql, mid), query(P[o].rs, mid + 1, r, mid + 1, qr));
}
}
int n;
char s[N], t[N];
int lc[N], cl[N], nod[N];
bool vis[TOTN * 2];
int pseg[N], dfn[N * 2], dfnr[N * 2];
int rev[N * 2], pos[N * 2];
vector<int> g[N * 2];
void dfs(int u) {
static int t;
dfn[u] = t + 1;
if (pos[u]) rev[pos[u]] = ++t;
for (int v : g[u])
dfs(v);
dfnr[u] = t;
}
int query(int o, int l, int r) {
int dep = SEG::query(pseg[r], 1, n, dfn[o], dfnr[o]);
return dep - (l - 1);
}
int main() {
#ifdef ELEGIA
freopen("test.in", "r", stdin);
int nol_cl = clock();
#endif
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> (s + 1);
n = strlen(s + 1);
int sroot = ++SAM::top;
{
int o = sroot;
for (int i = 1; i <= n; ++i) {
o = SAM::extend(sroot, o, s[i] - 'a');
nod[i] = o;
pos[o] = i;
}
}
int send = SAM::top;
for (int i = sroot + 1; i <= send; ++i)
g[SAM::fail[i]].push_back(i);
dfs(sroot);
pseg[0] = SEG::build(1, n);
for (int i = 1; i <= n; ++i)
pseg[i] = SEG::change(pseg[i - 1], 1, n, rev[i], i);
int q;
cin >> q;
while (q--) {
int l, r;
cin >> (t + 1) >> l >> r;
int m = strlen(t + 1);
int troot = ++SAM::top;
{
int o = troot;
for (int i = 1; i <= m; ++i) {
o = SAM::extend(troot, o, t[i] - 'a');
}
}
int tend = SAM::top;
int o = sroot, clen = 0;
for (int i = 1; i <= m; ++i) {
while (o != sroot && !SAM::ch[o][t[i] - 'a']) {
o = SAM::fail[o];
clen = SAM::len[o];
}
if (SAM::ch[o][t[i] - 'a']) {
o = SAM::ch[o][t[i] - 'a'];
++clen;
while (true) {
int cur = query(o, l, r);
if (cur >= clen)
break;
if (cur > SAM::len[SAM::fail[o]]) {
clen = cur;
break;
} else {
o = SAM::fail[o];
clen = SAM::len[o];
}
}
}
cl[i] = clen;
}
vis[troot] = true;
ll ans = 0;
o = troot;
for (int i = 1; i <= m; ++i) {
o = SAM::ch[o][t[i] - 'a'];
int x = o;
while (!vis[x]) {
vis[x] = true;
x = SAM::fail[x];
}
lc[i] = SAM::len[x];
ans += max(i - max(cl[i], lc[i]), 0);
}
cout << ans << '\n';
}
#ifdef ELEGIA
LOG("Time: %dms\n", int ((clock()
-nol_cl) / (double)CLOCKS_PER_SEC * 1000));
#endif
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Pretests
Final Tests
Test #1:
score: 4
Accepted
time: 11ms
memory: 54540kb
input:
aadccabccdcddcdabbbdbdaabcadbcadcccdcadbadaabaaacbacdcdccdcdabbbdbdaadcabdabdbacabdadadbdadbdcddbcbcbaddaaaabccdaddcaaabdbabbcabdbcdccaaddbdcdbbcaccdababdbbdabdcbcccacbddddaacbaccaacadbdbdcabc 190 acdabdbcdcabbacbdacaccbcaddadabccdaabdcdcbcdaadccadcdcaccdcaadcaaddccddbbbadbadbdcaacccdbbbcbdbabcacacb...
output:
18746 19133 18512 18928 17590 17762 17395 18333 17397 18159 18708 19076 18526 18931 17953 18684 17555 17937 17602 18932 17972 17768 17746 18939 18728 18167 17957 18718 18486 18170 17597 18174 17368 17591 17579 18364 18741 19150 17426 18514 17961 17398 18123 18742 17775 17402 19132 18151 18738 17418 ...
result:
ok 190 lines
Test #2:
score: 4
Accepted
time: 8ms
memory: 54608kb
input:
adbdadddcaddcdaacabadbbbacccaadddcdabaaccbbcbacccbdcdbaabbcbddcdadcabcacccccddbdabbbaacaadcdaddbabcabbbddcdccbaddbbbcdbcabdaaabbdaaadcdacbabccdadbabbdaddcbccddadbdcabcdaabbbabcdacbcaaccabcbaabcbcddcddbbbbaadacbddabbdddabbddbcbdabccbbdacbbdccdbddcdcdcadadbbacbdabbbcddcbadcdddaaabdbbdadddaabbdbaaccdab...
output:
17803 18533 18159 17409 17751 18527 17214 18141 18343 17601 18158 17623 18721 18552 18945 17413 17228 17577 18527 18694 17413 17564 17999 18521 18545 17400 18354 17384 18378 18159 17415 18907 17410 17594 17365 18126 17764 18370 17220 18352 18338 17616 17400 17244 18945 18201 17957 17774 18918 17970 ...
result:
ok 191 lines
Test #3:
score: 4
Accepted
time: 8ms
memory: 57428kb
input:
abbabcabadbcbbccbabdcbbacdddcccddadabcadabaadcaddbaaccacaabcbbbcabbbdcbadbaadccdbbdbaaccadbbabdccbcaabbaaccabcbabbcaacbdbbadadbdcbddbbcddcaaacbadabbaacaadddacbadbbddaabbcaccdbdabbcdbbccadccaadabccdaddcabbabadadabdbbadacadcaacbcdccdccaddaacdccbacadaccdbccddacbdcabadbcbbaaccbbabcddccdaabacbcbdbcbdbddb...
output:
18912 18173 17219 18910 18551 18349 17395 17373 17739 17934 17975 17576 17237 18552 18712 18941 17913 17203 17385 18945 18568 17180 18135 17208 17989 17984 18347 17798 17974 18909 18159 18724 18558 18540 18761 17987 18512 18388 18171 18352 17435 18936 18151 17765 17772 17225 18750 18553 18166 17965 ...
result:
ok 198 lines
Test #4:
score: 4
Accepted
time: 62ms
memory: 131644kb
input:
ddadbccdbdaacdacabdadadcbdbbadddcadbdadddcaddbbacbddddacccccbcabbbdaddcacbbcaaadaaddadadddbadabbadcdbacbdaddadbbbbccdbacaaabcacccdccaaabaddababacdbaccbbbddaabaacadbcddbbcaaccbbbbbdaddaabddbcdbaacbcadbdbccbcbbdacdacbbbcdccadcdbaacbcaadbabadcaccabdddacacabdbcdadccaddcdcaaabcacccbdbdadcbdcabddabbdabdcd...
output:
2894585 2991616 2979335 3050618 2815847 3097694 2950143 2865797 2830060 2947789 2811062 3067958 3030865 2892211 2861038 2977006 3070490 3023569 3023484 2913801 2913793 2825275 2825292 2923566 2880180 2991687 3028451 3072797 2925914 2957369 2837214 3026044 3035938 3033378 2996555 2994152 3043224 2964...
result:
ok 197 lines
Test #5:
score: 4
Accepted
time: 56ms
memory: 130548kb
input:
bacccaaabdacddbbabdabccbdabddccdbcdcdbdbccbddbbcaaddaacdcaaadcbcaddbabbaddaaaddaaccdcaccacababccaddaccbcacbbdccabaacacdcbccbdbadcdbbbbacacdcbbbbaadbcbaadbcadadbbddbccaadbdbcbabdaacdcdacdbcdbdccdabbacbddabcabccbbabcddbdddcaabbcaddbbdabcaddbbcaadabcbdcabcacdaabbdddadaacbbccdbccdabbdcaddddcccdaaaaddada...
output:
2969627 2930836 3090327 2969685 2940547 2959956 2913833 2822831 3001405 2938139 3023485 2998971 2952629 3075473 2844312 2858668 2911472 3053170 2984323 2950225 2984348 2832415 2868277 2962343 3003817 3006315 2889901 3045670 3097695 3038344 2822860 3090336 2933267 3028519 2933159 3060548 2889805 2996...
result:
ok 191 lines
Test #6:
score: 4
Accepted
time: 657ms
memory: 359640kb
input:
jmoifvagmonbuxznpdxtcgfycygerridhihasxonifvcorwbbadpyjvgyveicsfcrcjjecfktxuumtvfjxocbgeoeefrzlykfqeaarrlhkjovevehnezlcjikjjjfuxfoclvirrbctlicoitgwnphfzgzepxyejlsijruxxdvzahqjpaqhgcumtjnwkbskyengdgzbtxteacjoyvndwiturrdtlcyccbckhmlfyqohfcjvzhtcuqxxpexkvlckohvidmwkghiijakocqyjskcfoxxzffzgtylbiyythobvdx...
output:
124863337763
result:
ok single line: '124863337763'
Test #7:
score: 4
Accepted
time: 553ms
memory: 364280kb
input:
jxfsgnlqidcnbfleihizzderbbyzminbutjjknmojrymnghyunksfsqtfijisxyxfaygactkupfrpnugcrvhseqxpdiyrzrzanctqtygvhpumvlxwmvduwbysmkzpckcgbjxmlgyfhdpdjqehloisnpilhpshexuljbjlnkcbkjcnpudmycjigdirokeyvcvkmkrsyjbftizewmcfyuxghxqmwmqdvhswdnsjvybvefdnupdkrqcvnlnfbybifdovvapsdjoppvzvkmxjzevqifzclignjponvndafghncmm...
output:
124869633540
result:
ok single line: '124869633540'
Test #8:
score: 4
Accepted
time: 83ms
memory: 123376kb
input:
lbmckmhibhhmgglmcbfkclhacldibgaadakchjabmimjlidhhldljfmkegaieahdbjccdhjefbfebedjiefeflbejkihgjbfgeflchegbamekdlaaacfgabdabmfgjgfmjailbdgbhfbmaaclcidkkgldmejjhcmahhmgkimgfclcgkkalgdcmaiieakmkmflhbdmmibkbkfcjieekbccheahgegkfchfchemgkfghmiabllamichbbdbhjlcfafkijgihgmekhkdebkfbkdagdbhcgjmkamlfhmkjgmfafl...
output:
199927488 12 4 10 8 12 7 10 11 8 7 12 9 12 11 6 10 10 6 11 5 11 8 9 8 11 9 5 11 11 10 2 4 10 13 9 11 8 8 10 10 11 10 12 11 10 7 10 9 6 10 9 12 10 9 11 12 11 11 11 10 7 8 12 10 12 9 7 5 10 12 8 8 8 10 7 12 7 11 12 9 10 7 10 12 10 13 9 8 9 8 8 9 9 11 11 8 6 4 0 6 4 8 10 9 13 9 12 13 7 7 10 11 8 7 10 8...
result:
ok 4411 lines
Test #9:
score: 4
Accepted
time: 114ms
memory: 116804kb
input:
uwhchfeaycdqlasqdrbylqxaridtgcmyrmkdfdahthdwvkojhqxacqomockaqqoanitzhkmcgcdvniteghvxiyjrqziqjiuljewrdwaabtqwfrfalgloikpxcllbngrzphwcsdmiflqvznvuvxivxsvpqfgkefowexaoplhqfenuwawvwhtmocrmqifqdbyudhmkgiucudnxbjaucppbzobxpmqufhvexdvyjiefmxlfpczvqiuqucvnryxicvusurdiaavudphnnmfqgtichpwfvpaglqqzlmbwwwjohdgx...
output:
199945526 2 3 2 3 3 1 3 3 3 2 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 2 3 2 2 3 2 3 2 2 2 3 2 3 2 2 2 3 2 1 3 3 3 1 3 3 2 3 2 3 2 3 2 2 3 2 3 3 2 1 3 2 3 3 2 3 3 1 3 3 3 3 2 2 3 2 3 0 3 2 3 2 3 3 3 3 3 2 3 0 3 3 3 2 3 2 3 3 3 3 2 3 3 3 2 3 3 3 3 3 3 3 2 3 2 1 3 3 3 2 2 3 2 3 3 3 3 3 3 3 2 3 2 3 2 3 2 2 2 4 2 ...
result:
ok 5706 lines
Test #10:
score: 4
Accepted
time: 160ms
memory: 199576kb
input:
kimblfhedhamehaaacifgbgflkkldkalaakkhlaiejmeccmcffablhblmggjdmkbhljkkhgfjklieakmkjaamgikmccfkfghljahlkijgjdaechcbifailjcglkkedlgicjebfhiebkfciljkeacceejmkaalhcajfhfmkcecdklbdajdlfikkhiekdbebjbbdfgjcjhfbkclbhbbhjfdffegebkjfkcdilemclilbhflaihgihcgkldcbaakhdjhbekibbigibjdmjbbfalhccmddmckgljfmhgjbalbdjg...
output:
799877758 11 1 11 13 12 10 10 8 10 7 13 8 9 12 11 11 1 14 10 7 2 8 8 8 11 4 9 10 9 11 10 4 8 6 2 11 12 10 7 8 10 12 10 7 0 10 11 4 7 6 8 1 4 5 10 10 6 9 11 11 9 4 11 11 11 12 12 8 11 12 12 8 11 12 8 9 6 12 7 8 8 9 8 9 11 10 7 13 9 11 12 10 11 11 11 9 8 9 2 13 8 12 9 8 8 3 10 12 12 11 10 8 11 9 10 11...
result:
ok 8521 lines
Test #11:
score: 4
Accepted
time: 264ms
memory: 183772kb
input:
hpfxngoxndlosbzylksgzehfhkodfvqwwbtwlreetgeusomoymlaukhqqeqhfawfvuqjbwyrtwwjzmrtrnhvibtibiachlutcqbsydmynzxzdrkydyyekbmezwhvvfngnlklzdjpgbpjatahwuvoluqjoefktvlwdtynwprfekbpvgqtwmwneaofpktxfudwpibhlqmiybqbvsfsywlbktjcqvzwxtddkmliwukvkqsdssszsbmtnpynoohpgclvufblcdvqwrpjtuayinwqppbuidyynbpaolisqodbrqqt...
output:
799884036 3 2 2 1 3 2 3 2 1 3 3 2 2 2 3 2 3 1 3 2 2 2 3 2 2 1 3 3 3 2 3 0 3 1 2 3 2 2 2 1 3 2 0 3 3 2 2 3 2 1 3 3 1 2 3 2 2 2 2 2 2 3 3 3 3 2 2 2 2 2 3 3 3 1 2 2 3 2 3 1 3 2 3 3 2 2 2 2 2 2 0 2 2 2 3 2 2 2 2 3 2 3 3 2 3 3 3 2 2 2 2 1 3 3 3 3 3 2 2 2 3 2 2 3 2 3 2 2 2 3 3 3 2 3 3 2 2 1 3 3 2 3 0 3 3 ...
result:
ok 11413 lines
Test #12:
score: 4
Accepted
time: 390ms
memory: 271856kb
input:
cdfmjmimggmlmabjlakafafdgkbdkaclfemhajdamjkliajhmajfidkghmejelfkjedddkcgbdidelhghbabckiihdjhdjhakmeldjbikdagdfhalfikeggefcmehhgccilmaehhkagafafaegjgakjekcbhbbjgfhimhmlblgmeddfffdhfgmiacadfhglhjaekdaeacdbfmlcjfffbkcbffljjkbhigejmmmhkaljcljibgekjfhefmbjilcahefblblgeledddgemdgihfecclicgbkmilmifflllhmmc...
output:
1799824843 7 13 11 8 5 12 12 7 12 8 7 10 10 7 7 5 10 0 1 8 5 4 8 1 7 11 7 8 9 11 11 9 8 5 10 10 12 11 10 12 10 7 0 12 11 12 10 10 6 11 5 12 10 10 7 5 10 10 11 10 12 7 7 8 11 8 13 10 10 11 6 10 11 13 13 7 13 8 12 4 11 6 7 11 10 13 5 7 8 2 6 8 6 8 14 11 5 3 8 12 8 9 12 7 9 11 9 9 11 9 8 9 7 4 7 11 11 ...
result:
ok 12631 lines
Test #13:
score: 4
Accepted
time: 465ms
memory: 259424kb
input:
ophmmxojwyabxitozutwdxkmleazyhkqzfhqtdjggpjclzkhcerzmpdkprqjkmnpvccyajlwcohqgzqticihosjhxmwymdzoqnawgmtegjqyrngnqcheacmkgbrwsfldsmlnqjkocblhrnwguaexvnfvrceexfqpzumxsuuhfhdhujqoqdxrkknnhiygrabiqspaqdqreiswbcqdjnyqijdzolltfiiismxltjukwuixllitlyjglwwqekrlbkbwutvnifampunpzmpmwyclwxwgrowvnbqqmkreqhrwgvey...
output:
1799817649 2 1 0 1 2 3 2 2 3 1 1 2 3 1 1 3 2 2 3 3 3 1 2 3 2 2 3 1 1 3 2 1 2 3 2 2 3 2 3 2 2 2 1 3 3 1 2 3 3 2 1 2 2 2 2 3 2 1 1 2 3 2 0 1 2 2 2 2 2 3 2 3 1 3 3 3 3 2 3 2 2 2 2 2 3 2 3 2 3 2 2 2 2 2 3 3 1 2 2 3 2 1 3 3 2 3 2 2 1 1 3 3 2 2 2 2 1 2 3 2 1 2 1 3 2 2 2 3 2 2 3 2 1 2 2 3 2 1 3 3 3 2 1 1 3...
result:
ok 17118 lines
Test #14:
score: 4
Accepted
time: 472ms
memory: 345708kb
input:
lbmafbiicbjcmhbbmbabkgmbafmmhjldiifkmhejgmdcbijilcaidajjjebklkikjdjefalfkemjmbifalacllkcehbgkdkabiiefmhjcimlmckcbebidhddclhhlabdalegkfhcdbejbdmbhbfgelmkfdbkbdaclahbfggijmbgigilebmbijddfkjbafdjghijiibljgclgbciijhmjdhcjelmhiecaiahkhledfbekdlmcdceecckhkebclhilgbikmfgjmjgflmffkdjjkbcaemagedmcjajgikgefga...
output:
3199770934 9 9 11 8 9 10 10 13 9 10 8 11 11 10 11 8 10 10 11 8 10 4 4 11 11 9 11 8 11 11 4 12 7 12 11 11 12 8 11 8 6 1 10 10 7 6 11 10 6 11 10 12 8 7 4 11 5 7 11 10 4 10 3 6 12 13 10 8 9 8 12 5 12 10 4 10 10 8 10 8 10 6 14 10 0 10 10 10 12 5 8 1 10 9 11 12 9 5 10 6 9 8 6 9 12 10 12 10 8 11 11 12 5 1...
result:
ok 16741 lines
Test #15:
score: 4
Accepted
time: 607ms
memory: 331656kb
input:
dsppfaesydhozppylwmfzcvsllhggovukeeepvtiodzzdcmlauhymvxijszrobdecuhxjsivtwjtmvphssgvyifmixgddeuofabohugyfnnqbtsjrynkvtvcqkrhwovooktcfwmxagrxgekxdgldaqffybwmdkeykyocudevwdojhcbhipfwclhzmtoyznnbdadomffoaxihkuojezabjppeyzkgwjgcpvuuxvojahfrdeybcklvqwvfftcwkxqfhbddbxfduvitycznkuzgukryyhktzoslzqiiggugpwvr...
output:
3199747543 2 1 2 1 3 3 0 2 1 2 1 2 0 2 2 1 2 2 0 1 0 2 1 2 1 2 3 2 2 2 1 2 2 2 1 3 1 2 1 2 2 2 2 2 1 1 1 3 1 1 3 1 2 3 2 1 2 2 2 1 2 1 1 1 2 2 2 2 1 2 2 2 2 2 3 2 2 2 2 3 2 1 1 2 2 3 3 2 2 1 2 1 3 2 1 2 3 1 3 1 3 2 2 3 2 1 2 2 3 2 2 2 2 3 3 1 1 3 0 1 1 2 1 1 1 2 1 2 2 0 1 1 3 2 2 3 2 2 2 3 3 1 2 2 2...
result:
ok 22825 lines
Test #16:
score: 4
Accepted
time: 562ms
memory: 416756kb
input:
lgcjmilcjkfljihhadhcgcljecggdihjjihgdmbgggmdmfligahflfffcbcmfjlfmamfmcllfgffcciihhcfdihlbgbklmkjacjkhjajhaijifebillabigdeichhklajlechjhbeaiahhidemiaaaehkkaelabbdchficchchdcljbbbdmjfldkmjledjkkhldjjagdimadbdkkmcblkgfbmghieiiaamicjlemabecdemjbbhjjadfhlbaaglbfbbbilljmfjmadcmckfegfalkacbkjkafcgaklgabjkm...
output:
4999715467 11 11 11 8 9 0 10 0 10 12 10 11 11 8 11 11 12 9 9 10 5 11 9 9 8 12 12 11 9 10 12 10 8 12 7 7 11 4 11 0 8 10 6 12 5 8 8 12 3 4 7 11 10 8 8 10 10 5 11 10 9 10 12 8 1 12 9 11 11 13 10 6 8 4 9 10 11 11 12 7 4 10 12 4 0 10 8 6 12 11 10 8 10 11 10 9 11 8 5 13 11 10 8 11 10 12 11 12 9 7 10 8 6 1...
result:
ok 20852 lines
Test #17:
score: 4
Accepted
time: 983ms
memory: 403640kb
input:
crouxgkvirnjrytirundlljrgfwtazivrwzxxwditbfcooymmlaqvtisxnwbhhdusjrqtvebvgmuaietaotldzzsrqtplqfucfyjpfrohwraeeufvpetorvakablkyvvnwetsrqjlxhmjwgqekapdrvcymvxdzojvbsvcjqrjsdnimathoxcldskndebsfnoqpwxjiicaqdaxhmfnozvwhezimqwnwaoktflkfpdqyhuwtdtgqanymowveuxayebwbjeliulrglhaxwgmgvgiqwqvrkwetmdvkshxwpobakc...
output:
4999675655 3 1 1 2 1 2 1 2 3 2 2 1 2 2 1 3 1 2 1 1 1 2 2 2 2 1 3 2 2 2 0 1 1 1 2 1 3 2 3 2 2 3 1 1 2 3 1 2 2 2 1 2 1 2 1 2 2 2 2 3 2 1 2 1 1 1 1 2 2 3 1 1 2 1 2 2 1 2 2 2 1 3 1 1 1 1 2 1 1 2 2 1 2 2 1 1 2 2 2 2 2 2 1 2 0 2 2 0 2 2 1 1 2 2 3 2 3 2 2 1 2 1 3 2 1 1 1 2 3 2 2 2 3 1 1 2 2 2 2 2 1 1 2 3 1...
result:
ok 28531 lines
Test #18:
score: 4
Accepted
time: 431ms
memory: 286968kb
input:
hlheiljjdhhlgihkakdbmjjkjbihblhabaaafedcjickgbmimhldcfdgaeaemhheclgeglffkkiklgalagllffkjkkjbkllkgkkbblficjmklljcfallcicmfdflgebfjeacjejeedmimfdeiadbegfkckiaffagigmckdkihdikgilgehmaglhiddljghmfhgikfkgmfkadekgfalhlemfkdeggcdfkhmjdcdabmeebblbgeflbhkcjgdgadlbfmdebkhhhfajjiflejijamgjekelmjhcmakcglmhafdai...
output:
4999734984 8 12 5 11 9 12 13 9 11 10 5 13 8 13 9 8 11 5 6 9 13 8 9 8 8 3 12 5 13 11 13 9 13 14 11 11 11 5 12 12 8 5 9 14 10 12 14 8 9 11 5 12 5 13 8 12 13 13 11 10 11 12 10 12 13 1 9 14 8 9 5 12 5 0 14 14 12 8 8 11 12 11 11 12 7 9 10 7 10 14 13 5 9 8 7 11 12 9 11 14 11 9 8 12 9 11 1 11 7 12 9 11 11 ...
result:
ok 20852 lines
Test #19:
score: 4
Accepted
time: 477ms
memory: 329588kb
input:
hcickbjbggigfjddcmijgfbafdebdkcldbibaaegkhmdeibkjdjigbmfelkbdablaccmeblcgikdglmllmdagaaaikfjhdcldhmhmiiiccbhehdhbkjdgkkjhfkflckidfibicfihaagficicjkbiiejddegmcahacchfgmkmmlehbelhlmbkamelfjhkmgfljbaffjjfmfhmhafjhhhdlgfggbilkkcghfaalllcdeffbbjichaiedagaalehkcaglcacgldciahdgehibefmghedciddglfbbmdigdbjij...
output:
4999739719 13 5 11 8 10 13 9 9 8 12 9 11 7 5 13 11 5 6 6 10 12 3 10 1 13 6 12 11 11 6 0 12 8 8 3 10 12 14 13 11 10 12 13 11 9 13 8 5 12 5 12 12 8 9 10 0 14 11 11 9 5 14 10 9 10 4 6 14 8 10 9 9 8 7 12 8 9 8 11 8 11 13 13 5 6 11 14 12 5 5 15 11 0 11 6 11 11 12 11 12 13 8 1 9 9 13 9 9 0 12 13 12 13 13 ...
result:
ok 20852 lines
Test #20:
score: 4
Accepted
time: 760ms
memory: 371064kb
input:
cjhkkbhdfmbagemlcmcdclghhcebjlaikgbdlbkedeckmimkeffkjfljmghahfgeihehlfhicjckhjmidafdkhfgehjdgdclckchjddkglaijcfcmigkgmhkmggelagbkbkikaghbadbfeifkemehhcljcfjeljejeehbklflekflaedfeclhidaahikdfaeljbhbaffkdblmecidjglkddkmecifgccmjkjhjecgaklmemfcfemlfmbkljjbakdhchehfhaelhgkicdbhgddcfjeikimklccbdmccjiilhf...
output:
4999718204 13 12 13 11 15 9 12 11 10 9 1 7 12 12 9 13 11 13 5 11 5 12 12 10 11 14 8 11 12 11 13 11 12 11 11 11 9 14 13 11 12 13 11 12 12 11 14 12 13 5 10 11 7 8 13 13 14 14 0 5 11 9 9 5 14 12 9 1 5 0 8 13 11 13 13 8 5 8 1 10 12 9 7 5 11 13 12 13 11 12 5 0 13 12 4 14 11 11 13 11 11 6 11 10 8 13 11 14...
result:
ok 20852 lines
Test #21:
score: 4
Accepted
time: 769ms
memory: 418456kb
input:
acdalbjachemiccjijekjladlmgcdibegjemfggmcajmkdfaicklclhhjjiifdjkglcdieahidalajicmabkejeggmjdacmljghlicficlaidacjegkhgdmalfbgakblgfbglebhjmkccfgkdkcbgddfgcmkkddlmlikljhmcgfddgkfhddkiekkaefbedjhglclfgebfddlbkkadhlahccmbgjagkkchemmhgbcjkcjdgbmbfhmhgckffedkkllkemkegjhbkijhkjmckkgcccebelfdikbfeigdflebkck...
output:
4999757046 9 13 9 8 11 12 12 6 14 11 5 12 10 10 11 12 11 11 12 8 13 7 5 5 11 9 12 13 13 9 10 11 10 10 4 11 11 11 14 13 11 9 12 8 8 14 10 9 5 10 14 13 1 8 11 5 9 11 10 3 12 10 12 9 13 0 11 11 8 11 8 13 13 9 4 10 14 9 11 10 10 11 10 0 10 2 12 4 9 11 12 12 11 13 12 14 5 7 10 8 12 8 13 14 10 14 13 13 11...
result:
ok 20852 lines
Test #22:
score: 4
Accepted
time: 611ms
memory: 417052kb
input:
mddlmgjdadiajebkkjdcfcaemmacbeefbiheblhihlahcilkgcgcgbgbkdddbiedlejkaibalfggglkghmddiiikfabgmggecdmifaegcmkfcmlcfhlecifdiejflclehcbajacmakchcekkiddljfdlejgefbgkgicbdjamafjfgcdmhaejffmdaedaidabihdckhjdkfdclaafcibjfidakllflmejfaeeilaehkicmifjcdiagiihchgefafeaabbihmkddcaembjgjdeljjldagjgghammkfagahdjgb...
output:
4999718831 10 11 0 15 11 14 12 11 14 5 13 12 9 9 6 13 13 13 12 9 14 13 14 10 12 9 5 11 9 13 11 11 12 6 11 12 14 9 0 8 12 14 14 9 12 9 12 5 12 14 11 12 11 12 11 9 14 10 11 12 11 13 11 12 8 5 13 12 10 12 5 12 8 7 15 9 12 9 14 0 13 12 1 5 9 15 9 12 11 11 11 9 13 9 11 11 11 9 8 8 8 12 5 0 7 13 11 9 9 11...
result:
ok 20852 lines
Test #23:
score: 4
Accepted
time: 697ms
memory: 417896kb
input:
llfdgmcekbmbimkccddilecgmlimhkklijdgcfjcdkblbglbaaegedfeihjfgigigfbajgakjmmafechejfihfmdkidmlfdcejkkielgcakckilmlgiklmlalklfdcgkhlmlhkjbkhmdkbhmbfidfmccicgcbejmklcmelcigfjjiaifebbdimekgaglhejaadaglhahfkmkljkfakaifihfihikecehmafbgicelabajgghlmffhgfciclmhmbfhbkbbffmikkeadafebkjkdcidbgadmiaelbhkegimmbf...
output:
4999718003 11 10 12 12 11 10 8 11 12 12 13 9 0 12 14 9 4 12 14 11 11 14 11 9 11 11 14 9 11 12 14 11 11 9 12 15 12 8 14 13 13 9 12 7 5 13 13 13 10 13 10 11 14 9 12 13 9 12 8 11 9 11 15 11 9 11 8 11 12 2 11 13 1 11 11 11 8 7 12 13 9 9 13 9 14 5 12 12 12 6 5 6 9 12 13 12 11 13 14 12 13 14 9 12 0 11 12 ...
result:
ok 20852 lines
Test #24:
score: 4
Accepted
time: 823ms
memory: 415772kb
input:
dhblhcfekgfmbjkhalldhjckleeffihfallgiafelkkehflcmbikdiijmajkeaghlddammajjdffieiidbgedfekciajfflgbgegmfmaljamaliihmjladahiglmkafmiiflcbhbhceimhmhheeidaejgaecmahcmchclijjdjajmkjgjdgkhmljmjlgadflbdkdkgbggdddicllcfkdmajigmglkfcllijleblcaabkajjghhdgkdbllmjhahjecccfhcgmfemljbkamhgbehjkfffaickeagejjhkgmimb...
output:
4999724403 11 11 9 0 8 7 10 12 11 11 12 11 11 12 12 11 5 5 11 11 14 9 9 10 12 9 11 10 9 11 11 12 9 11 13 6 13 12 11 10 13 9 9 12 1 9 14 12 1 13 9 9 9 13 11 13 14 12 11 10 11 8 0 12 7 13 14 11 13 9 10 10 10 9 14 5 8 9 3 5 5 11 5 13 12 9 5 13 11 12 8 11 14 9 14 12 9 9 11 0 11 8 11 12 12 14 6 11 11 13 ...
result:
ok 20852 lines
Test #25:
score: 4
Accepted
time: 804ms
memory: 416748kb
input:
iiafeelfecahcjmkadhjkdmmelhmaiafglhiabmlafgmackbbkgfdhdhlageljhmlmehhjgbgkjmbaiffjhcfceiidghmggkhlhkcjdjiehfdcjdlkblgbkcdahgiccjiimggkdlhlkgddbiigbjhbdblbggaealbkldjbfdecmcijdfajlgccfbldbkjmbcmkklfmjfblbhieibecfgjcbchkegbdamflhfjfdgjglkakkgheakegkhlllmhljekmidlhfcmjlgmmajmgjmmlfkhhbklgliejcikjehdijd...
output:
4999717091 12 13 10 8 12 13 10 5 11 9 8 10 13 11 13 13 5 12 6 8 13 11 5 5 11 13 10 9 11 13 10 9 9 12 2 11 12 11 10 11 13 13 13 10 13 11 8 11 11 9 10 5 11 10 8 0 7 11 3 11 11 12 11 7 10 9 12 11 12 11 1 8 5 10 11 11 8 11 11 10 8 13 9 12 5 11 12 10 10 0 13 10 12 15 11 9 10 4 0 11 10 13 5 9 11 12 7 13 1...
result:
ok 20852 lines
Extra Test:
score: 0
Extra Test Passed