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 |
|
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 |