# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
38441 | 2018-01-04T06:47:50 Z | kajebiii | 구간 성분 (KOI15_interval) | C++14 | 256 ms | 2156 KB |
#include <bits/stdc++.h> using namespace std; #define SZ(v) ((int)(v).size()) #define ALL(v) (v).begin(),(v).end() #define one first #define two second typedef long long ll; typedef pair<int, int> pi; const int INF = 0x3f2f1f0f; const ll LINF = 1ll * INF * INF; const int MAX_N = 2e3 + 10; typedef unsigned int ui; int N, M; char Ns[MAX_N], Ms[MAX_N]; ui H[26]; int main() { H[0] = 1e9 + 7; for(int i=1; i<26; i++) H[i] = H[i-1] * (ui)97 + (ui)(1e8 + 7); scanf("%s", Ns); N = strlen(Ns); scanf("%s", Ms); M = strlen(Ms); int ans = 0; for(int l=min(N, M); l>=1; l--) { ui n = 0, m = 0; for(int i=0; i<l-1; i++) n += H[Ns[i]-'a'], m += H[Ms[i]-'a']; set<ui> s; for(int i=l-1; i<N; i++) { n += H[Ns[i]-'a']; if(i-l>=0) n -= H[Ns[i-l]-'a']; s.insert(n); } for(int j=l-1; j<M; j++) { m += H[Ms[j]-'a']; if(j-l>=0) m -= H[Ms[j-l]-'a']; if(s.find(m) != s.end()) { ans = l; goto finish; } } } finish: printf("%d\n", ans); return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 2024 KB | Output is correct |
2 | Correct | 0 ms | 2024 KB | Output is correct |
3 | Correct | 0 ms | 2024 KB | Output is correct |
4 | Correct | 0 ms | 2024 KB | Output is correct |
5 | Correct | 0 ms | 2024 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 19 ms | 2024 KB | Output is correct |
2 | Correct | 13 ms | 2024 KB | Output is correct |
3 | Correct | 0 ms | 2024 KB | Output is correct |
4 | Correct | 0 ms | 2024 KB | Output is correct |
5 | Correct | 23 ms | 2024 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 96 ms | 2024 KB | Output is correct |
2 | Correct | 103 ms | 2024 KB | Output is correct |
3 | Correct | 106 ms | 2024 KB | Output is correct |
4 | Correct | 99 ms | 2024 KB | Output is correct |
5 | Correct | 109 ms | 2024 KB | Output is correct |
6 | Correct | 103 ms | 2024 KB | Output is correct |
7 | Correct | 109 ms | 2024 KB | Output is correct |
8 | Correct | 116 ms | 2024 KB | Output is correct |
9 | Correct | 109 ms | 2024 KB | Output is correct |
10 | Correct | 109 ms | 2024 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 13 ms | 2024 KB | Output is correct |
2 | Correct | 226 ms | 2156 KB | Output is correct |
3 | Correct | 206 ms | 2156 KB | Output is correct |
4 | Correct | 6 ms | 2024 KB | Output is correct |
5 | Correct | 256 ms | 2156 KB | Output is correct |