QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#475717#9126. Number of Abbreviationsucup-team3519#AC ✓14ms4364kbC++204.2kb2024-07-13 16:20:522024-07-13 16:20:52

Judging History

你现在查看的是最新测评结果

  • [2024-07-13 16:20:52]
  • 评测
  • 测评结果:AC
  • 用时:14ms
  • 内存:4364kb
  • [2024-07-13 16:20:52]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
#define V vector
#define pb push_back
#define fi first
#define se second
#define lb lower_bound
#define all1(x) (x).begin() + 1, (x).end()

typedef pair<int, int> pi;
typedef long long LL;
typedef pair<LL, LL> pl;

struct SA {
    int n;
    std::vector<int> sa, rk, ht;
    SA(const std::string &s) {
        n = s.size() - 1;
        sa.resize(n + 1);
        rk.resize(n + 1);
        ht.resize(n);
        std::iota(sa.begin() + 1, sa.end(), 1);
        std::sort(sa.begin() + 1, sa.end(), [&](int a, int b) {
            return s[a] < s[b];
        });

        rk[sa[1]] = 1;
        for (int i = 2; i <= n; ++i) {
            rk[sa[i]] = rk[sa[i - 1]] + (s[sa[i]] != s[sa[i - 1]]);
        }
        int k = 1;
        std::vector<int> tmp, cnt(n + 1);
        tmp.reserve(n + 1);
        while (rk[sa[n]] < n) {
            tmp.resize(1);
            for (int i = 1; i <= k; ++i) {
                tmp.push_back(n - k + i);
            }
            for (auto i : sa) {
                if (i > k) {
                    tmp.push_back(i - k);
                }
            }
            std::fill(cnt.begin() + 1, cnt.end(), 0);
            for (int i = 1; i <= n; ++i) {
                cnt[rk[i]] += 1;
            }
            for (int i = 2; i <= n; ++i) {
                cnt[i] += cnt[i - 1];
            }
            for (int i = n; i >= 1; --i) {
                sa[cnt[rk[tmp[i]]]--] = tmp[i];
            }
            std::swap(rk, tmp);
            rk[sa[1]] = 1;
            for (int i = 2; i <= n; ++i) {
                rk[sa[i]] =
                    rk[sa[i - 1]] + (tmp[sa[i - 1]] < tmp[sa[i]] ||
                                     sa[i - 1] + k == n + 1 ||
                                     tmp[sa[i - 1] + k] < tmp[sa[i] + k]);
            }
            k *= 2;
        }
        for (int i = 1, j = 0; i <= n; ++i) {
            if (rk[i] == 1) {
                j = 0;
            } else {
                for (j -= j > 0; i + j <= n && sa[rk[i] - 1] + j <= n &&
                                 s[i + j] == s[sa[rk[i] - 1] + j];)
                    ++j;
                ht[rk[i] - 1] = j;
            }
        }
    }
};


void solve() {
    int n; cin >> n;
    string s; cin >> s;
    s = " " + s;
    // string rs = s;
    // reverse(all1(rs));
    // SA sa(rs);
    V<int> cnt(26);
    for(int i = 1; i <= n; i++) {
        cnt[s[i] - 'a']++;
    }

    // V<LL> sub(n + 1);
    // map<int, int> mp;
    // LL cur = 1LL * (n + 1) * n / 2 - accumulate(all1(sa.ht), 0LL);
    // sub[1] = cur;
    // for(int i = 1; i <= n - 1; i++) {
    //     mp.insert({i, sa.ht[i]});
    // }
    // // for(int i = 1; i < n; i++) cout << sa.ht[i] << " \n"[i == n - 1];
    // for(int i = 2; i <= n; i++) {
    //     cout << i - 1 << endl;
    //     for(auto [x, y] : mp) cout << x << " " << y << endl;
    //     int x = sa.rk[i - 1];
    //     cur -= (n - i + 2);
    //     auto it = mp.lb(x);
    //     if(it == mp.end()) {
    //         cur += mp.rbegin()->se;
    //         mp.erase(prev(mp.end()));
    //         sub[i] = cur;
    //         continue;
    //     }

    //     cur += it->se;
    //     sub[i] = cur;
    //     if(it == mp.begin()) {
    //         mp.erase(it);
    //         continue;
    //     }

    //     int y = it->se;
    //     it--;
    //     cur += it->se;
    //     cur -= min(y, it->se);
    //     it->se = y;
    //     sub[i] = cur;
    //     ++it;
    //     mp.erase(it);
    // }

    // for(int i = n; i >= 1; i--) cout << sub[i] << " \n"[i == 1];

    // // cout << sub[n] << endl;
    
    // V<int> n_sub(n + 1);
    // sub.pb(0);
    // for(int i = 1; i <= n; i++) {
    //     n_sub[i] = sub[n + 1 - i] - sub[n + 1 - i + 1];
    // }

    LL ans = 0;
    for(int i = 0; i <= n; i++) {
        if(i) cnt[s[i] - 'a']--;
        LL add = 1;
        for(int j = 0; j < 26; j++) {
            if(i != n && j == s[i + 1] - 'a') continue;
            add += cnt[j];
        }
        ans += (add);
    }
    cout << ans - 1 << endl;

}
int main() {
    ios::sync_with_stdio(0), cin.tie(0);
    solve();
}

这程序好像有点Bug,我给组数据试试?

詳細信息

Test #1:

score: 100
Accepted
time: 0ms
memory: 3860kb

input:

5
abbab

output:

11

result:

ok "11"

Test #2:

score: 0
Accepted
time: 0ms
memory: 3560kb

input:

5
aaaaa

output:

5

result:

ok "5"

Test #3:

score: 0
Accepted
time: 0ms
memory: 3568kb

input:

4
utpc

output:

10

result:

ok "10"

Test #4:

score: 0
Accepted
time: 0ms
memory: 3552kb

input:

2
aa

output:

2

result:

ok "2"

Test #5:

score: 0
Accepted
time: 0ms
memory: 3612kb

input:

3
bab

output:

5

result:

ok "5"

Test #6:

score: 0
Accepted
time: 0ms
memory: 3784kb

input:

4
accc

output:

7

result:

ok "7"

Test #7:

score: 0
Accepted
time: 0ms
memory: 3556kb

input:

2
cd

output:

3

result:

ok "3"

Test #8:

score: 0
Accepted
time: 0ms
memory: 3816kb

input:

10
aaaaaaaaaa

output:

10

result:

ok "10"

Test #9:

score: 0
Accepted
time: 0ms
memory: 3860kb

input:

5
bbbbb

output:

5

result:

ok "5"

Test #10:

score: 0
Accepted
time: 0ms
memory: 3592kb

input:

3
abb

output:

5

result:

ok "5"

Test #11:

score: 0
Accepted
time: 0ms
memory: 3612kb

input:

6
bcbddc

output:

18

result:

ok "18"

Test #12:

score: 0
Accepted
time: 0ms
memory: 3552kb

input:

1
a

output:

1

result:

ok "1"

Test #13:

score: 0
Accepted
time: 0ms
memory: 3564kb

input:

8
accbabaa

output:

28

result:

ok "28"

Test #14:

score: 0
Accepted
time: 0ms
memory: 3624kb

input:

9
ccacdaabc

output:

36

result:

ok "36"

Test #15:

score: 0
Accepted
time: 0ms
memory: 3612kb

input:

6
scguem

output:

21

result:

ok "21"

Test #16:

score: 0
Accepted
time: 0ms
memory: 3620kb

input:

8
czqxyciv

output:

35

result:

ok "35"

Test #17:

score: 0
Accepted
time: 0ms
memory: 3548kb

input:

3
nky

output:

6

result:

ok "6"

Test #18:

score: 0
Accepted
time: 0ms
memory: 3556kb

input:

2
xn

output:

3

result:

ok "3"

Test #19:

score: 0
Accepted
time: 0ms
memory: 3788kb

input:

9
muduhznoa

output:

44

result:

ok "44"

Test #20:

score: 0
Accepted
time: 0ms
memory: 3656kb

input:

3208
udhavrncwfwujpcmiggjmcmkkbnjfeodxkgjgwxtrxingiqquhuwqhdswxxrxuzzfhkplwunfagppcoildagktgdarveusjuqfistulgbglwmfgzrnyxryetwzhlnfewczmnoozlqatugmdjwgzcfabbkoxyjxkatjmpprswkdkobdagwdwxsufeesrvncbszcepigpbzuzoootorzfskcwbqorvwdrmklfdczatfarqdkelalxzxillkfdvpfpxabqlngdscrentzamztvvcvrtcmbqlizijdwtuyf...

output:

4948950

result:

ok "4948950"

Test #21:

score: 0
Accepted
time: 0ms
memory: 3872kb

input:

4788
iqurwrbrbxmhbrdpdrerbobajuldlwrpkrtfblspnkxyitiohlpgjlcktlaqsalnoiphbtuyrrghseznkmzukaiihatzttiylactadtninwcsufbynjkxaajnagfevscfuhoajuqmisgbbsxqbylmraszacpliuglqyuzbnizxxjxnntsckjzjzjmmyfmvxjaopvefhwhbyoapkqedyddtrpblporursknpbtamzkkzrrddcmrayglnjuikqynjaucaqekhcwxdqpdohycvaexjyulgvwtovqgsfivk...

output:

11024172

result:

ok "11024172"

Test #22:

score: 0
Accepted
time: 0ms
memory: 3564kb

input:

3429
rkwppxiscaykvmkyjkjjgzidbatjujgdcsoqnlxgxxdeyewhvtncvpusjinbrrjcwfxcafbxpytbeypcoswmpdcbdcmjsfzyoohdzyudjoukiowfcmhpliccyhiigrnjmxyafnxnfzvnbnsxbkampswfmooflqwwdnsajuzisgrzozdgnhhuaibgyctpyqhcxchhygihqaermspsgomqkyltmrfgqbdhiloyxfityhewgmvcakcxunuxogdvurumqogwljlfhysyjvvefpkbyibzeqfjhzymhdkdzue...

output:

5654827

result:

ok "5654827"

Test #23:

score: 0
Accepted
time: 0ms
memory: 3612kb

input:

3534
kdqyaoiwlwmjakzvhicdmyhcxgeryppfgvhepimgrqolqyibjphsjkmdkaqbkywtbqehrmybevnqutdlyqpogemuudzxbhjlbgvdnzunubuepbcsjbpcydehbrgjppiqebgxhdtqxwizichytscewaoudjzevuodgdgqfdzvrboxopvfdboyskolrvdfoirkqpiwowgypybchbmwtbeaolsrxqcoxwntbyimajfpauymwjwibotkziuttjqcnhudhylqbxrbxkvmudthutqqenfncshtaqswmqucjvu...

output:

6006844

result:

ok "6006844"

Test #24:

score: 0
Accepted
time: 0ms
memory: 3796kb

input:

4595
hwngzhxrirwhhczpnxmwqrochdzfiwzqxaimcojsrvdxxfkkhyognkrjxbljmbsbzbdrhczlvpoyeqaywlpyxaflehnvhykqtfnzcopcqremmbntrqdmtiwqtcphenxfninboegxjgopifnpbdxcrvjldzavdpaedmyqooklctyzfpqnxiqfcyaoouxvripjxpmwurmhnidhtqdbnjxbtrdqisxyxmnpoqykvodnvuhkpvgzkqfhyaqjwfzhbozkocbyomkzchqlcnnzdqakmytfmntdgojcgnejhpm...

output:

10152436

result:

ok "10152436"

Test #25:

score: 0
Accepted
time: 5ms
memory: 3744kb

input:

259403
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

output:

259403

result:

ok "259403"

Test #26:

score: 0
Accepted
time: 8ms
memory: 4208kb

input:

451784
aabbabaaaaaaabaabbbaaabbaabbaabbbaabaaabbbaaabbbbaababaabbbbbbaabbbabaabbaabbbbaabbabbaabaabbababbaabbbaabbaaabaaaaababbabbabbbbababaababbbbbaaabaaaabaaabababababaaabbbbaabbbbabbbabbbabbbabababaaabaaaabbbbbaaabbabaabaabaaaababaababababaaaabbbaabbababbbbbbbbbaabbabbbbbbaaaaabaaaabababaaabbbaba...

output:

51027640724

result:

ok "51027640724"

Test #27:

score: 0
Accepted
time: 10ms
memory: 4028kb

input:

383147
cbacabaaccbcaaacbacabbcaccbcacbccbccbcabaacbcbcccabbcccaabcbcacbacaabcbbccccacbbaabaacabbbbbccbcabaaacacabcaabbaacbbcbbbcacaccabbaabaccbccaaabbbbccbcbaaccacbcabbbbbbcbcbabbcbcbabbccbabacbccbabaaaccabacbaccbbacacbcbbbcbaccbabcbaccacaabbcaabacabccccaabbacacaacccbabaccaccacbababbbacbbabbabcbabba...

output:

48934195363

result:

ok "48934195363"

Test #28:

score: 0
Accepted
time: 8ms
memory: 3940kb

input:

298623
ddbaddcacdacdacccadbdbacdbbcacccbbbddbbadbdcdbdbbaaabccddcbbadcbadacabacbcabbaddbcadbcbbabaaaddcdadadabbbdaaabddacdbaaabbbabdbbadcacccabcdabbbbbdbcaccbbdbacdbbbcbadccacdbcdbdddddcbadabdbdacdabdcaaaadbbbbacdddbdcacacbacacddbadacaacccabdbdcacdcdcdcddbaccbbbcddcbdaacbcdbcbbaccbacbcdccdcbdcabbccb...

output:

33441140650

result:

ok "33441140650"

Test #29:

score: 0
Accepted
time: 7ms
memory: 4028kb

input:

358847
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

output:

358847

result:

ok "358847"

Test #30:

score: 0
Accepted
time: 11ms
memory: 4188kb

input:

427315
aaababbbaabaabbbbaabaaabbaabababbabbbabaababaaabbbabbabbabbaaaaabaabaaabbbbabbbbbbbabbaabababbabbbaababbaababababbaabaaabaabbabaaababababaabaaaaaaabbbbbabaabbbaaababbabaaaaabbaaaabaabaaaaaabbbabbbbabaabababbababbabaaabaabbaabaabbbabbabbbbbabaaababbaabbbababbabbababababaaababaabbbaaaaaaabbaabb...

output:

45649527559

result:

ok "45649527559"

Test #31:

score: 0
Accepted
time: 9ms
memory: 4032kb

input:

338812
babbcaccccbbbaaaccbaacccbbbaabbbcababbcbccbbcaaaccabccbccbacbbaabccacbabbcccacccccabcacabaacbbaababbcacbacccabbccbccabbaabccabccbabbcacacabcbabaccaacaabbcbaccabaccbaccbcccabcbcbbaabcbbbacacaccbacabbabccabaccacbcabcccbcbbcbbccbcabcbbabbacabaabccbcabaaccbbcacabbaababcaabacaabacbcacbbcabaccccbba...

output:

38264629469

result:

ok "38264629469"

Test #32:

score: 0
Accepted
time: 8ms
memory: 4032kb

input:

292752
bddacddcaabbabaadabdbbdaabdccabbcbdbdcdcaccdcddbccdcddcadddbbddbcaddddbccddcacabadbdabcdccadabcadaaacacbaccaacacaaacbdcbdacbbcddddbdcbbdadabbbdbcacdcdadbcaaccdccabbcddbbbbcccddacbcaccdcbaaadccdbadbdaaccbacddbbaaaaadbdcbcdaacacbdbbdccdbcbadacbaccabdbcbabcbccdcabcaadcbdaacabbbaddbbcacbbbdadbcab...

output:

32139087857

result:

ok "32139087857"

Test #33:

score: 0
Accepted
time: 8ms
memory: 4176kb

input:

403030
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

output:

403030

result:

ok "403030"

Test #34:

score: 0
Accepted
time: 3ms
memory: 4032kb

input:

272405
bbbbaabbbabaabbaaaabababaaaababbabaabababaabaaaabbbbabbaabbbaaaaababaabbabbababbabbaababaabbbabbabbbbaaaaabbaabaabbabbbbbbbaaabbbbabbbbaabaabaaaabbabaaabaaabbbaababbbaaabbabbaabababaaabbabbbbabaabbaababababbaabaababbbbababbbabbabbabbbbaaaaaabaaababababbabaabbbaaabbaabbaaaaabaaaabaabbabbaababa...

output:

18551392289

result:

ok "18551392289"

Test #35:

score: 0
Accepted
time: 8ms
memory: 3960kb

input:

339136
ccbbcbcaaabbbcbacaccaaabbaabcbbbbcaaaccabbaacbcbcabcbbbccccccbccaacbaaababbabaacaaabccbcbbbabaabccacbcaaccbbacbabcacbcaaabccacacccbcaabbcabcbccaaccababcbaaccbbccbaccccaaaacbaaabcabccaacbbcbacababccaaccccbcccbabbababbccbbbbaaabbacccbaaaacbbcccbcbabbaccabbaccbbcbccaaababbcaaabacbcbbbcacaabababb...

output:

38338032393

result:

ok "38338032393"

Test #36:

score: 0
Accepted
time: 10ms
memory: 4028kb

input:

395796
dbbbcddcaddcccadbcdcacdaabbcdbcbdcaccbbbbcccdbddbbdccccddbadacbaadcadcacabaacbabadaadbdcaadddbccbbdcdddaccddcabdadaaaaadaddccdcdacbdcaabaacdacaacbcbccdaaddadbddcdccacccccbccdaabdaaaddbdbdabddddccbccacdbbddacdcccdbcdbdbaddabccddaddabadbdadadccabbaadbadbabccdcbbddbccccadbcaddcaacacccdbbbcdcdcaa...

output:

58745698646

result:

ok "58745698646"

Test #37:

score: 0
Accepted
time: 11ms
memory: 3860kb

input:

375258
efwdkyoszitpwgtollrejclsrrgxdoyrxuuitncokifjdcbxzrewsdobvibquinpgsgwozmwvkyiosrvopxkknfhofuamizpqwwkzqdbeokhyrsmbmyozeoaxktgtqrfiefgeqctdimvgzvhxaklztkwzssvmtyjeiqvjwiyduaohchdkvodjtldavqirvywwfvczbcrqfhdxitggocaemersflsxayycdzptsrwqgrxsiclwpccqjrhfccvvozpvyrlkkmyyzdnortqcxqjrbrnwhqcrsuzovpvm...

output:

67701430251

result:

ok "67701430251"

Test #38:

score: 0
Accepted
time: 4ms
memory: 4076kb

input:

290254
wytycjjdcktibajwvlqxlkejfnoctilzdfkeafqicrzxtgjxiwtfzrbzgexnrixjwgvtdnlnzzrtxazncwpquakrsmnvvrwywlrcmtbpgmdnhpvxuaeqkotbsievctajgnrcnceqgrfdanzaqohrdjxhsrztgowluhamgusaszefowepydhrhlmkmnfdtigxbpszxraooszplheodofbbgmudcdhjsngssmnvemxmlrpsyesgngtqrhggbdptmzatxkvbxlxfxfkmjuasfhohjattnsiionsgvopx...

output:

40503673675

result:

ok "40503673675"

Test #39:

score: 0
Accepted
time: 8ms
memory: 3852kb

input:

280730
ywhbhnaybsogzcggyebgrjoffqblxlivtltvtnwbhziclszbhdppqshflmgnquayesxrskrkynhrfkerravnjegezprvtihcjgetqcutpujaakvvddchotkltkpiwdjiggcmpnhxwnkliiskmtztxpnwainstdkpxfgwmxppbhrzkwjwmlbptdpovvifshosbgbzhlqojcbcismcrocjyjrwsxyppeqgzdajmylhduxakavdqxvvqrdhmtzgriozmzyqafcszlbrfxdtpguuxqucawugijzgckyto...

output:

37889251466

result:

ok "37889251466"

Test #40:

score: 0
Accepted
time: 13ms
memory: 4292kb

input:

451887
ddhrlcvptkwsulmnxjnnxtrinnzeziqkkjzgapidtcggzglyzruvogvrdtbgyqjazasufipgefwdrnzethxalgexbdtlembpbmsvgdhpgabbtlujcksbtsshrhdgzjtberswgdfmvyicoeleawjlmrqiagxtasqcqdaevxwphojnzxazanjgwtriocydumndsaxuiahusjrzuzmzkiaxwzebtjrrzvrqvpzzobtnscjqfogxuonfdwrlamiqtmbdpvpdpkfszutodddmburpxfkobgvjfebvovnxj...

output:

98174197263

result:

ok "98174197263"

Test #41:

score: 0
Accepted
time: 11ms
memory: 4020kb

input:

382168
qawbyxfauveufgshlilzzbolreknbhehcpetrnvwkyrlbgryzbhzlmjzsndjaxzbfloemyvlnzdycxhfniczmjpwvnjgbqxujwlivdblrhccifqmfnpxqrihqnmmyuwctwcsznfmajetyzqnfagjigrumjtdkpvqutxhtlwabpdvtrtiypeaxluvmusjtiyunoujjgmnnuujdgczzsqiyjhelgkwfeeomogjiphjianidnlvdxaeclugtuorjsabdtblvpgqcirruzsirkmbfonuewqjykclisejo...

output:

70217747714

result:

ok "70217747714"

Test #42:

score: 0
Accepted
time: 13ms
memory: 4280kb

input:

500000
ababbaaabbbabbabababaababaabaabaababbaaababbabbaabbabbabaabababbbaabababbaababbbaabbaababbbaabaaababaabaabbbbabbabbbabaabbbaaaaabababbababaaabaabaaaaababaabbaabbaaaaabbbbaabbaaabbabbbabbabbbabaaaabbbbbabbbbaababbbabbbbbbbbabaaaabababaaaaaaaaaaaaaabbabaabaabaaaaabababababbbbabaabbaababaaabaaba...

output:

62500297500

result:

ok "62500297500"

Test #43:

score: 0
Accepted
time: 13ms
memory: 4344kb

input:

500000
abaccccabaababcbbbababbababcabbccbcccbacaacbabcbaabbbacbbbaccababacabcccccbbabcbcccabbbccccabbccbbbccbbccbaabbcabbaaaacbacacccbccbcbacaccacaacaacbbacbbcccbccabcbccccabaabacbabcbaacacaabccbcccbcacaacbbbbbabcbacaabcabaacccbbbccbaaabaacbbabbaccabaccacaabaccccccbcaaaabbbaaacacbaaaacacccaaaccbcbab...

output:

83333762841

result:

ok "83333762841"

Test #44:

score: 0
Accepted
time: 9ms
memory: 4124kb

input:

500000
dbdcacbdcdacabbdbacdadaabcdbbbacccbcccddaabaabdcdacdbcccdaabaccdbacddadbdcdbdbddbabacdabdadddabdbddcadcacbbdaccbbbcbdcdcdbdcbadddddcbabbacbabbdadcabbcbddabddacdbcbddcaccbabadbbccdcbbbbbbbbbbcbbcaccbbabbbdbbccbbbdbddbbdbdcccabddabddaddcdccdbadaabcdcababadaaaadcdbabacccaddacddbddbbbccacdadbcaad...

output:

93750221936

result:

ok "93750221936"

Test #45:

score: 0
Accepted
time: 8ms
memory: 4192kb

input:

500000
baababbaaaaabbbbabbababaaabababbbabbaaabaaaabaaaaaaabbbbbbabaababaabaaabaabbaababaabaaabaabaaabbaabababbabbbaababaabaaabbaabbabbbaabaaabbaaabaaabbbabaabbaababbabbbbbbbbbaabaabbbbabaababbaabbaaabaaababbbbbbbaabaaabaaabbaabaaabbabbbababbbaabaaaabbbabaaabaababababaaaababaaabaabbaaabbbbbabaaaaaba...

output:

62500468316

result:

ok "62500468316"

Test #46:

score: 0
Accepted
time: 13ms
memory: 4300kb

input:

500000
cbcaccabbaccaaacbcabababcabacccccbcbcccbacabcbbbccabacbbbbcbaaacbccababbbaacaccbccccbcaccccacccccaabcccaaabccbaabaaabcbbccabacabbacaaabbbaccbbcabbaccbcaabbbaccbabacbbcabbacacbaaacaabbccbababaccabcbbacaabcbaaacacacacabbbbccaacabcaccaccabccccbaaabaaaacbcbbcccbaccaacabbbcaccccbbcccbcbbbcbbaabaaa...

output:

83333818659

result:

ok "83333818659"

Test #47:

score: 0
Accepted
time: 13ms
memory: 4296kb

input:

500000
cabdcacdcacbaaddbbcddccaccacbcacacbbdbbbccdbccaaabbaccacaaadaaccccaaadbabbdbbdbccbaccbddcbdacabbcaacdbbbbcbdcaacddbbadaddbadbabbcddabddccbaaacdaaccacdcbccbcadabaacdaddaccadabbccdbcbbdcdccdacdadacddacadcadddaaddadcdcbdbabcdacabdbcdcdcbadbbdadcacaabddcbcdbdcaddcccdbbdadabbadabddbbaabdabadcadbad...

output:

93750097409

result:

ok "93750097409"

Test #48:

score: 0
Accepted
time: 10ms
memory: 4224kb

input:

500000
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

output:

500000

result:

ok "500000"

Test #49:

score: 0
Accepted
time: 12ms
memory: 4296kb

input:

500000
aaabbbbabbabababbaaaabbababbbbbababbabbbababbababbabaaabbbabaaabbbbaabaaaaabaaabbbaabaaabaaababbbbbabbabbbbabbbaabaabbaaabaababbaababbaaabbaaaabbababaababbabaaabaabaaabbbabbbaaaaabaaababbbaaaabbabbbaaaabbaabbaaabbbbbbaabbaaaaabbaabbbbbabbbabaabaaaaabaabaaaaaababbaababaaabbabbbaaaaabbaaaaaaaab...

output:

62500470071

result:

ok "62500470071"

Test #50:

score: 0
Accepted
time: 12ms
memory: 4288kb

input:

500000
bbbbbcbccaaaacaabcbbcccbaccabcbabbcbccbabcbcbcabbaabacbaacbabcabbcbccabcaaccacaaaabcbbbbaabaabccaccbbabbccbacabbbbaaaacbccaacbaacbcacabbcbbabbcbcbcbbbbabbbbccaaababccbaccbacbaccaacbbcaaccaaacbacabbabababccbbbcacccbbcaabbabaccbcbacbabbbbcccaaaccacbbcabbbacabbcacbbcbaaaccaaabacabcabbcbccacbccbc...

output:

83333275319

result:

ok "83333275319"

Test #51:

score: 0
Accepted
time: 12ms
memory: 4300kb

input:

500000
dbdccaabcaabdacbdbbccacaaaddccbbdaaaadcdcaabccddbabddacbbaabaaabcdbdabbcdcaddbbcaadcdacdacbacbcbbdcacacdcbbacddbdbdaacbcccaabadcbcdddcdaadacddbddaacdbbaccbacdbaabcdbadbdbdabadcddacbdcbadacdbdcdbacdbdababdaddcbddcaabbabbcdbbbbdcccbabddcdbaacaaddcdcaddddadacaabdbdbcccddcadacadbbdaabdaacbdbdcbba...

output:

93750313684

result:

ok "93750313684"

Test #52:

score: 0
Accepted
time: 14ms
memory: 4280kb

input:

500000
eeutjhcedmpqmegbnduoxrbcorelebeboytxnrflffrclvoedmviwlpeiebviwijcmnocdumgmbvppwzqemhqtmtdchbamfcaluxdnrimdgihfqcuxsxmhsfcncsmoptahgsfrzqaumgprmuyfloryhcbjukduqyptxmwqouopgnfzmwmzysubhhqrqxoqaizxykbigwcwfeaoesgtybzrwtotecetxjscvmznbrhmkmvktozzlrzhuobskcowstbhjnsiofvbmllavczxrptolefmjpkzdhwudjl...

output:

120192593132

result:

ok "120192593132"

Test #53:

score: 0
Accepted
time: 14ms
memory: 4224kb

input:

500000
avkigoxkemxunlehtbkvifwrtaggfossgyuyfdhhafrmsdaoacdmstwacpvankydsiryvotrqlmxfrhjfbclpscdpspnxydsjslnmuwcinnfhuinpgsehnkactkgedsxbvugdfrgxdrbmjnaqoaylureamtirfbtngljdgicxfncogppuyltmggeigkhossgdnutryctnwfoivikrifcwewtedeqhbsngfwilcmordkjwpldanewxlkxdxwtfamnkkkhbgpxyfsfbxdylvlvrpydpfsqwnpiafpbv...

output:

120000195616

result:

ok "120000195616"

Test #54:

score: 0
Accepted
time: 14ms
memory: 4340kb

input:

500000
imlorsqbhqhlkqgphggtvsfdokeoanqdpkhurobhwejokgwnrckqnaghxiikqbkocmikahgdovusxtxqrneahgmcdhpanwobnajersbplreulctmmljgnpsqojfofqqberxobtipsdwhsxhhfhmwtinvvlhqsseqdtmndnfbnovqbphdhpcmhusesbaqijfsxcpuuevpcanjuwpfawovlqtktivmebbndkjxqvfoemtqxhdrequetantdsrhkmctchidlmpspwsqfoxtfrbnnoedwurfwrgrknisa...

output:

119791972594

result:

ok "119791972594"

Test #55:

score: 0
Accepted
time: 10ms
memory: 4156kb

input:

500000
pufftoqhuetjjggjpfdtlmeovmmfgnteadjvitdugwlnnkbhajncgosweindgddtnrdfjpnmogfddhfbfgrcppltprfouavmirjfhvlatkkjfkstvnarmhumvbhusbprojgvjiliihlhmmnjhfrnqdnkafpqlafitikanbjgcvpjfiarnldgaleqwrmlsadrmnlcopsarnksccdfacvekwjomvihdojrfwvkhsqfpcdwsdufrvjoojghvqarcngmarwspqrosmhhuvvsnkfenklfonsvocujkmlfp...

output:

119565516053

result:

ok "119565516053"

Test #56:

score: 0
Accepted
time: 10ms
memory: 4168kb

input:

500000
qdgdbtfrlejtuevdgmpbbgoltkpvickblgrsmsvdcdgpeekktsmencljmbcrcbqhblnaflmrbbavmgpppkkiihjifnfbbdmgjjckhkkhjtteislooukbcgbahoiaihhtjfothiihsjsckharsepepmbppfkflpvchnebpvgflundhvrfdaieqocgtigiljsfhrtniisngupkgpltbgrhurnearuhuaqgkvrvuhoqnuoccadlrkplgkmvpicltlaosjcqcfesilsvqttdnevhnpfhnsahhvuknbotn...

output:

119318386919

result:

ok "119318386919"

Test #57:

score: 0
Accepted
time: 14ms
memory: 4160kb

input:

500000
avfgvtaakrbqtfobadoqqfbpufurlsrxgsbokbulchdlzpwdljhglassfenzqjxpfdcfrvzhbdisuqkgpeyggkcecfkuexyyheinfsdkykcrihrmozurmcrluubnejrneznrpniuhfshtrhjlgebsydhevddovfeothlrxvngrjqtdxvyifuxawtnuwoxaavhzrokqmykcxkgasozgahrlriftjaocxevjueqswyzuxpimmmvejdtkuzgqzmxkgezccjggwnvpiererhivhgmspfedentpqcjetjz...

output:

120192626837

result:

ok "120192626837"

Test #58:

score: 0
Accepted
time: 11ms
memory: 4136kb

input:

500000
axybegoynpwozzaclgcnlggucsaptjbvkojwgfgojaapbcwpbftygnngxfuoqyanhgcoejjonhoijlfghhwuzizbgtavwxaondebdivsidfqrbupfuneoaipfudnqrbrmhmtozshnyznuqpovqjqhowsjzibdvjafckiukkenbpihzzqqtbyhqpawpuphfbxmaldprzzjcugfhaeuzaljttufkhjlhggnlmegvpimduptpzotmxinvgpydwmhemgzbesufyelcspjwjccuulslttfzujkigsmikgp...

output:

120192592784

result:

ok "120192592784"

Test #59:

score: 0
Accepted
time: 14ms
memory: 4336kb

input:

500000
npryzwpvnorcwvwraydnhhiolaoueeqrjreoqbwhmxxxydsebjdswyfgonzhvrhxkvlcwklfyednktmtbqunelaeivcuhufpsryfplxcdvrfbaaemutlcztrqumptvjgxgimyphwsmwinuebavgkqwvrecpquqofpacceqjjbmoejaqxekkzjaunaqpcdcrueyfptiaaevstokyxytegtaugqvrwmplaiablcogmscposryrgnzhzbtpklnhbtkzrpldmsydndobidizxrwzewxbpffzlwjjusrcv...

output:

120192667175

result:

ok "120192667175"

Test #60:

score: 0
Accepted
time: 14ms
memory: 4364kb

input:

500000
xfcsuzygjkboyhtgeqmrbinmawdskjkcomiaggjjlpmzqgbzeyoirbxcjwsgigniflkfqogydshfcngyxuhqlpksuytatucfemdjcxbchahaikvdmcffzrxkoksltupgojfqylutnrrujynmosiizlxisjissllyqwpisloxbpezhfkelgacsviauvhpaxuwgzdwgielcqweoethwqasjmfugdlsztonixzzzpsylmmaskmxyeagdealijbxhpfeizgtvrruabzgzdoboplasintprjioonmcjmgm...

output:

120192615911

result:

ok "120192615911"

Test #61:

score: 0
Accepted
time: 14ms
memory: 4324kb

input:

500000
bodopshojazmcgnhegtbvfofujdvykzjdlfnjmfybepkbfueoyddlssognbjoitdivpbkuriyvtqoxacfuvlowvrntpkmxvolpafphgderqyitffjxrcvlsgzdmvwcnpmxzjiwrbhxmwuuxxabasfzrbtjetfmjtreefyjmctamtagloioheexwubeokywnmekuugvxvfeplnuyuntysdqwtwurfpdwgifupaonztshpcmmikyyttmuarkwtbsilfvtuxugrpgpuhggqooxmwvulpwemzezplayay...

output:

120192572879

result:

ok "120192572879"

Test #62:

score: 0
Accepted
time: 11ms
memory: 4188kb

input:

500000
khfkjuujwpluinorjbtpaobjtwvigxlycnzbdjpcdvyboslatngiqczwfxqxxowuyesvwyhzaoisakjxzoxupsfrofaywzhvccvcxluvsigoxnbeaehoiqdzzhwrnvgvirbpckcgsyrumhqrgnyqshwuewpqtedwlrvfcmoehkviaqqsdhfhddnwfebrdjsvucmbsscluqjcbojmzymiorkabpzleqzgvoektcwuhoijzuaqxenngpvxslzkufcweegwzspacwgmiezqwldiqunlkudjubsgfwjsl...

output:

120192566486

result:

ok "120192566486"

Test #63:

score: 0
Accepted
time: 14ms
memory: 4140kb

input:

500000
dbkshpiqwgvffwfbpnfstnwpgajlmtnznklgshnzuwrqwbdeewcefxvarvkyvwjhwzlddzliggkpcbadzfloldrrpdlcwzzdasbeiqyndoioyftyhsxazwjggwiyazccaefjrctlhbpbknifeabpopqicfpnvhkxwueyykkoonkhrssqjmhmfnqkjuljkcoawsjergopczvvomnincssingedujpmzkbyizkszgurkbanivgvszdexaqtxhsgyykjujkpbedaqqmubduxyllccwfzqnciznujsvvx...

output:

120192606579

result:

ok "120192606579"

Test #64:

score: 0
Accepted
time: 14ms
memory: 4288kb

input:

500000
khcvbuokeatnzgitapmrtcoeqmzpjxlnskfgaezspqdbrsyagtvohisgdzdygqnvnpgzdzgwfprzmkifxbqtjgbhrcoondipewmaqibkdhgavhcflotgkhveqnrjlohmwjskhuvrvykjaiexglttgdocpgyyhexlrikyisjvwkqakgboludtmseicrqtffmutotasjvzftppawrswkhhhzexbvvacwddmtkxvwyxhtvhwtzbvhuzpwiwdoevjouysmmyhyahuinhhncdzqgzhbtkkvmnmgdaadebl...

output:

120192663118

result:

ok "120192663118"

Test #65:

score: 0
Accepted
time: 14ms
memory: 4364kb

input:

500000
tqrwmveljqzksrpfzqgqwemgprwjnhyvrqbyzwicyfiowztjxklhprjdcrdsrmnthpikdbchthezrswarhloihoghqppzglvmpsmbybcqeugfilvhbauhncbzvrmuqucagxkagvozbhqymmudwrkcmzryggozxsrbqnihlantezjdphdxoxebqfhmsrbibqwyponnfwjqfplosofylnqifqjtfpsyhfxxbrmsfxvkgidxqatevihjqglhvgikzxwqyieotpcwzcsfqfbhklkrimqzefbnslkewgju...

output:

120192622494

result:

ok "120192622494"

Test #66:

score: 0
Accepted
time: 11ms
memory: 4132kb

input:

500000
adbbdorprvjezlhsxlflapmzibsliotdostjalzidktyyywmyzzvmudqkudvnynhlhbnzwmxdfvzjoonpjgzedmlbswkxajltiywvixoforlyasgpgerbicdpnhiqiiczsekusjtrrbhvlvvmsvbkcqmmjfervsyglppdnmzlqiddejgepbkewyseloxftfrgvnrzwkpoxctjabekkctdxlteoebcipuctaealdxjcyvqxyoyhrcdynetmsxrfsmnhbebflxlqxvhkmwapdshyuedowdtlvzcwihl...

output:

120192595643

result:

ok "120192595643"

Test #67:

score: 0
Accepted
time: 14ms
memory: 4120kb

input:

500000
qkzihaydmyrzficpjqcfjeqiulxnhmuuxsxdqhoczpleaqrjqutbvhqrutgmzcxwnjdqlydfstwxmwfwcyrqfkcqmuxfwukqaucxhwcwwmrmajyppuhukwalaoibfepxvrbqgahawhxjldoyyggpfguboepwwugqpaehbhuntrjewvxrlojrraiehmdsmbbatxgzdmshxsodpecltsieylnfrmakirpsowczpapxkiksfbjecmkkvtfmyamjmxwzlolargxdihawnfiqgybwtfiziuwxfxuqtgcny...

output:

120192630444

result:

ok "120192630444"

Test #68:

score: 0
Accepted
time: 14ms
memory: 4160kb

input:

500000
dkzyczkqwwbntyhuyskmqzmkmfjrmtgludstliqcwynyuvockmclfwlsjlugbyztaairsuxiyrtglmwlyynatfjuztqslangpskyeohkpfbxwevfrofvonwmsaqvhtbisotysedzbeokymxfzfjglldnyanyhglptqcwjhdvgeguqvaemjicpogzpkfqwaybwfuhnpfyikgnjvqtmwlegpvgvevlnmebbdgdinxmegbjbfclhyrepzzrreuznhyifkqidfhozhbvsjcduwrtrhexstfxmazxowsjd...

output:

120192637116

result:

ok "120192637116"

Test #69:

score: 0
Accepted
time: 14ms
memory: 4296kb

input:

500000
vfkdcocspqgvmrqeugqknlbvqcaytsvwnmpfbjiwwgxycoaspvhfhjrjnhurlbqwfcqhkxnayqmdimkrbzieieljbtnekkhozlaxbrpqpgmgyndgjuuytuuebrvbrzenfjsjkecakooidcrdsmuyensolidxptcztuvgzdnbhcrdoupoyxqouirttqevqkvowomnpnghwelgawyfcfljplyltdikcdrzxpwojpjlmuzuqxzhbiackjinblawhmwmukybgakebieteojfboipmgahnkgfwidgzpgrw...

output:

120192488423

result:

ok "120192488423"

Test #70:

score: 0
Accepted
time: 14ms
memory: 4132kb

input:

500000
jmdjvrjbafuzjxkukjhksmmnlagxpvkhsssbkopgvpzfebzbtrlerhzwxtihryyhoevzhhyqzubmxcoruiwalzpenvzcvmapbaecchokzukqahbedhuououwtwkttglltfchtixdgkmmirhhisdfheqbmzvtmfnqnubkycjnuyxfiseaiyvnvqvpcnieqoxtpjjdzmoelhehhtxnzkmrftxmdcwwicxknpfbqshadrrfgnxvhypkophvqninlfbpfpilzzqafpzdxlzfreusogvfrgccjtvelxqos...

output:

120192578619

result:

ok "120192578619"

Test #71:

score: 0
Accepted
time: 14ms
memory: 4136kb

input:

500000
yrdzqmgiyxpznmcubxtnurlpaqzogjxvjcywsagkubjmlhiegpfqhwkjyduonbwldtolryjptsanfpsbiktgxqxujguehocrieoszpxojovtetumgzohrtifbjzoxzlztbbvfmciwfkipgkgxulceuebdymcesfmggvhasklotsyyxcugzlhopvghbvckiahsxifbqrnwemmctonfgllutuwfmlkzhfunxaxojpyhcvnilppgicjdarqqxaxpqsrfuucqgkvsnhfyqlezvlfjuhdbwlmsuterrpvm...

output:

120192476955

result:

ok "120192476955"

Test #72:

score: 0
Accepted
time: 10ms
memory: 4212kb

input:

500000
zpuvtbdyepstussunwtflrlevxwtgyupxjeqqnmbewvpfweunnvagpvpxopiyhjtwhhnazdlnimvoqdmrqnxujbfnzaikygzqqcfacqbutqruzixutoacydjpcwiqoqtikljushtsgajkfzwublqrtzshgmzjcbyrppldgjhqxzpqlslluwehfwkenljavdnytfvemgtmltjfadcjacixdspkgiuaviqrwrywdgnxstzghkmwbczgwfkdkkjbkwzyakdtijhitejhcdesjhjljpbjhrduneurbjvz...

output:

120192649879

result:

ok "120192649879"

Test #73:

score: 0
Accepted
time: 14ms
memory: 4292kb

input:

500000
aebnogrjsrroofvrerpkdchdvgfqmcyxtimysanjyuhgwughlcepmmvayldgvuchffuohpfkqprooxogenchkmzpkpoogiavecxwmcnqdgdvldcqxtwpivjxzavxiekvgxalgmtgxxhzgzbjcozjtnnhvuupafeegpjmlmndghpcwujqwuclqzamcoazkrzkcsxrjkehcgmbezllgrrounnvlxtwaxnjvyfcfgkcuhilixfhochltmccmjvmjwqghskutdfjhekcwelnifpwjhmlrhflchnagcfgt...

output:

120192616957

result:

ok "120192616957"

Test #74:

score: 0
Accepted
time: 14ms
memory: 4336kb

input:

500000
hfqzgdzupuwbizzwnxjefenmosmaontwpjdqkbqhkuhrtxyejeevrnojtprcewqwotdqbaihgdfmadkaeebwffrbvjtlrshkjztpmquzvwiiollrsizqxrjbyvigbgkonvnqskwrmmhmbmpmtgmfyahcfljeuozrsaqvroytdbbxzoknwukwxcigmtmjjodochspupoomcnnoahcfyjzzzhrjzcdjhycntkjmmopkqwrrlqepyvogqajjrxflyqirbsxcapwtzeubmjvebjopbctszhezwjdpxgjw...

output:

120192579184

result:

ok "120192579184"

Test #75:

score: 0
Accepted
time: 14ms
memory: 4192kb

input:

500000
cemjlotwogtujggryhoixnvxvqnsqhnomlnmpwwatypjcirzislgkrxplsmnxqutlywdquwtuptekdenemezbasgxabgjsablzqmjvjclpnexxkgypualkgxvqjgsqsyypyfrhbfushtthlbcqmfkoowokzaqvqkbitlxshgmiijeplchtcxlkijuqmsngklenezutneaygjxmwdrzxmppoklhmgxuehdehsqcpjgvoethgueyooooobmroakgvriizgnmgyltdxaqmwzsjbtguubhnigpncyflty...

output:

120192498760

result:

ok "120192498760"

Test #76:

score: 0
Accepted
time: 14ms
memory: 4156kb

input:

500000
agslhnbzpgmkdscnnuelvdtdrzncsklfiupcdgyymiefvturwkxkncfcefnfquygcnaqkzykdmzvwrettdwzvnwonljvjxnebjumzpttdewhufmkzjtnfnepoamfpuxouizexfbkvmkwzggjmqgghjbizawmgxmhayqktufwzsamklnmoekmapfwzhkywnhjsfghaxjvnlzfnnnnyzhfcspzvvlbgvyqzpwkshsddzpospakcjwhbcxemxxuyuflyolhifdalcdwwikwxincechbsabucotfmjxjf...

output:

120192555023

result:

ok "120192555023"

Extra Test:

score: 0
Extra Test Passed