Caso # | Resultado | Tiempo | Memoria |
---|---|---|---|
#1 |
Correcto
|
0.007 s | 1 KBi |
#2 |
Correcto
|
0.007 s | 1 KBi |
#3 |
Correcto
|
0.008 s | 1 KBi |
#4 |
Correcto
|
0.008 s | 1 KBi |
#5 |
Correcto
|
0.007 s | 1 KBi |
#6 |
Correcto
|
0.007 s | 1 KBi |
#7 |
Correcto
|
0.007 s | 1 KBi |
#8 |
Correcto
|
0.007 s | 1 KBi |
#9 |
Correcto
|
0.008 s | 1 KBi |
#10 |
Correcto
|
0.059 s | 1 KBi |
#11 |
Tiempo límite excedido
|
0.954 s | 1 KBi |
#12 |
Correcto
|
0.106 s | 1 KBi |
#13 |
Tiempo límite excedido
|
1.023 s | 2 KBi |
#14 |
Correcto
|
0.107 s | 1 KBi |
#15 |
Correcto
|
0.18 s | 1 KBi |
#16 |
Tiempo límite excedido
|
1.083 s | 1 KBi |
#17 |
Correcto
|
0.072 s | 1 KBi |
#18 |
Correcto
|
0.118 s | 1 KBi |
#19 |
Correcto
|
0.217 s | 2 KBi |
#20 |
Tiempo límite excedido
|
0.936 s | 1 KBi |
#21 |
Tiempo límite excedido
|
1.021 s | 2 KBi |
#22 |
Tiempo límite excedido
|
1.01 s | 1 KBi |
#23 |
Tiempo límite excedido
|
1.013 s | 2 KBi |
#24 |
Tiempo límite excedido
|
1.059 s | 1 KBi |
#25 |
Tiempo límite excedido
|
1.016 s | 1 KBi |
#26 |
Tiempo límite excedido
|
1.045 s | 2 KBi |
#27 |
Tiempo límite excedido
|
1.024 s | 1 KBi |
#28 |
Tiempo límite excedido
|
0.949 s | 1 KBi |
#29 |
Tiempo límite excedido
|
1.028 s | 2 KBi |
#30 |
Tiempo límite excedido
|
1.041 s | 1 KBi |
#31 |
Tiempo límite excedido
|
1.06 s | 2 KBi |
#32 |
Tiempo límite excedido
|
1.073 s | 1 KBi |
#include <iostream> #include <vector> #include <cassert> #include <set> #include <unordered_set> using namespace std; int main() { string s; cin >> s; int n = s.size(); assert(1 <= n and n <= 100000); int k; cin >> k; assert(1 <= k and k <= 26); int best = -1; for (int i = 0; i < n; i++) { unordered_set<char> seen; for (int j = i; j < n; j++) { seen.insert(s[j]); if (seen.size() >= k) { int length = j - i + 1; if (best == -1 || length < best) { best = length; } break; } } } cout << best << endl; return 0; }