Submission #2135624


Source Code Expand

#include <bits/stdc++.h>
#define rep(i, n) for (lli i = 0; i < (n); i++)
#define rrep(i, n) for (lli i = (n)-1; i >= 0; i--)
using namespace std;
using lli = long long int;
using mint = lli;
lli mod = 1e9 + 7, base = 97;
int main()
{
    string s, t;
    cin >> s >> t;
    lli v = 0, e = 1;
    rep(i, t.size())
    {
        v = v * base + s[i] - 'a';
        v %= mod;
    }
    rep(i, t.size() - 1)(e *= base) %= mod;
    map<int, int> st;
    for (lli i = t.size(); i < s.size() + 1; i++) {
        st[v]++;
        //    st.insert(v);
        //cout << v << endl;
        if (i == s.size())
            break;
        v = base * (v - e * lli(s[i - t.size()] - 'a')) + lli(s[i] - 'a');
        ((v %= mod) += mod) %= mod;
    }
    v = 0;
    rep(i, t.size())
    {
        v = v * base + t[i] - 'a';
        v %= mod;
    }
    e = 1;
    lli cnt = 0;
    rrep(j, t.size())
    {
        for (lli i = 0; i < 26; i++) {
            if (i == t[j] - 'a')
                continue;
            lli nx = ((v - lli(t[j] - 'a') * e + e * i) % mod + mod) % mod;
            cnt += st[nx];
        }
        (e *= base) %= mod;
    }
    cout << cnt << endl;
}

Submission Info

Submission Time
Task H - Almost Same Substring
User uenoku
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1206 Byte
Status WA
Exec Time 4215 ms
Memory 187012 KB

Judge Result

Set Name All
Score / Max Score 0 / 100
Status
AC × 23
WA × 27
TLE × 9
Set Name Test Cases
All 00-sample1.txt, 100000007.txt, 20-teuchi1.txt, allsame27.txt, allsame28.txt, even.txt, hash-collide.txt, hash-collide2.txt, hash-collide3.txt, hash-collide4.txt, hash-typical.txt, hash-typical2.txt, periodical29.txt, periodical30.txt, periodical31.txt, periodical32.txt, periodical33.txt, periodical34.txt, periodical35.txt, periodical36.txt, periodical37.txt, periodical38.txt, periodical39.txt, periodical40.txt, random00.txt, random01.txt, random02.txt, random03.txt, random04.txt, random05.txt, random06.txt, random07.txt, random08.txt, random09.txt, random10.txt, random11.txt, random12.txt, random13.txt, random14.txt, random15.txt, random16.txt, random17.txt, random18.txt, random19.txt, random20.txt, random21.txt, random22.txt, random23.txt, random24.txt, random25.txt, random26.txt, teuti01.txt, teuti02.txt, teuti03.txt, teuti04.txt, teuti05.txt, teuti06.txt, teuti07.txt, teuti08.txt
Case Name Status Exec Time Memory
00-sample1.txt AC 1 ms 256 KB
100000007.txt AC 2 ms 384 KB
20-teuchi1.txt AC 1 ms 256 KB
allsame27.txt TLE 4214 ms 176516 KB
allsame28.txt AC 2502 ms 117892 KB
even.txt AC 2 ms 384 KB
hash-collide.txt AC 5 ms 896 KB
hash-collide2.txt WA 37 ms 4096 KB
hash-collide3.txt WA 45 ms 4864 KB
hash-collide4.txt WA 46 ms 4864 KB
hash-typical.txt WA 25 ms 3072 KB
hash-typical2.txt WA 25 ms 3072 KB
periodical29.txt TLE 4214 ms 176516 KB
periodical30.txt TLE 4214 ms 176516 KB
periodical31.txt TLE 4214 ms 179972 KB
periodical32.txt TLE 4213 ms 183560 KB
periodical33.txt TLE 4214 ms 185220 KB
periodical34.txt TLE 4214 ms 184580 KB
periodical35.txt TLE 4215 ms 187012 KB
periodical36.txt TLE 4215 ms 187012 KB
periodical37.txt WA 32 ms 900 KB
periodical38.txt WA 33 ms 900 KB
periodical39.txt WA 38 ms 900 KB
periodical40.txt WA 30 ms 900 KB
random00.txt WA 1 ms 256 KB
random01.txt AC 1 ms 256 KB
random02.txt AC 1 ms 256 KB
random03.txt WA 1 ms 256 KB
random04.txt AC 1 ms 256 KB
random05.txt AC 1 ms 256 KB
random06.txt WA 1 ms 256 KB
random07.txt AC 1 ms 256 KB
random08.txt AC 1 ms 256 KB
random09.txt WA 1 ms 256 KB
random10.txt WA 1 ms 256 KB
random11.txt AC 1 ms 256 KB
random12.txt WA 1 ms 256 KB
random13.txt WA 1 ms 256 KB
random14.txt AC 6 ms 1024 KB
random15.txt WA 1 ms 256 KB
random16.txt WA 1 ms 256 KB
random17.txt AC 8 ms 1408 KB
random18.txt WA 28 ms 900 KB
random19.txt WA 41 ms 900 KB
random20.txt WA 905 ms 53764 KB
random21.txt WA 28 ms 900 KB
random22.txt WA 41 ms 900 KB
random23.txt WA 2572 ms 116740 KB
random24.txt WA 28 ms 900 KB
random25.txt WA 41 ms 900 KB
random26.txt WA 352 ms 29316 KB
teuti01.txt AC 1 ms 256 KB
teuti02.txt AC 1 ms 256 KB
teuti03.txt AC 1 ms 256 KB
teuti04.txt AC 1 ms 256 KB
teuti05.txt AC 1 ms 256 KB
teuti06.txt AC 1 ms 256 KB
teuti07.txt AC 1 ms 256 KB
teuti08.txt AC 1 ms 256 KB