# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
252165 | 2020-07-24T13:11:55 Z | lookcook | Vještica (COCI16_vjestica) | C++17 | 2000 ms | 896 KB |
#include <bits/stdc++.h> //#define int long long using namespace std; int recur(vector<vector<int>> s) { vector<vector<int>> vec(s.begin(), s.end()); int res = 0; while (true) { vector<int> mins(26, 1e9); for (vector<int> v : vec) for (int j = 0; j < 26; j++) mins[j] = min(mins[j], v[j]); vector<vector<int>> copy = {}; for (vector<int> v : vec) { for (int j = 0; j < 26; j++) v[j] -= mins[j]; bool flag = false; for (int j = 0; j < 26; j++) if (v[j] > 0) { flag = true; break; } if (flag) copy.push_back(v); } for (int j = 0; j < 26; j++) res += mins[j]; if (copy.empty()) return res; bool flag = false; for (int j = 0; j < 26; j++) if (mins[j] > 0) { flag = true; break; } if (!flag) break; vec = copy; } int others = 1e9; for (int i = 1; i < (1<<vec.size()); i++) { vector<vector<int>> s1; vector<vector<int>> s2; for (int j = 0; j < vec.size(); j++) { if ((1<<j)&i) s1.push_back(vec[j]); else s2.push_back(vec[j]); } if (s1.size() != 0 && s2.size() != 0) others = min(recur(s1)+recur(s2), others); } return res+others; } signed main() { ios_base::sync_with_stdio(0); cin.tie(0); int n; cin >> n; vector<vector<int>> s; for (int i = 0; i < n; i++) { string str; cin >> str; vector<int> v(26, 0); for (int j = 0; j < str.size(); j++) v[str[j]-'a']++; s.push_back(v); } int res = recur(s); cout << res+1 << '\n'; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Execution timed out | 2091 ms | 384 KB | Time limit exceeded |
2 | Execution timed out | 2078 ms | 384 KB | Time limit exceeded |
3 | Execution timed out | 2077 ms | 384 KB | Time limit exceeded |
4 | Execution timed out | 2093 ms | 384 KB | Time limit exceeded |
5 | Execution timed out | 2090 ms | 512 KB | Time limit exceeded |
6 | Execution timed out | 2090 ms | 640 KB | Time limit exceeded |
7 | Execution timed out | 2084 ms | 892 KB | Time limit exceeded |
8 | Execution timed out | 2086 ms | 896 KB | Time limit exceeded |
9 | Execution timed out | 2055 ms | 888 KB | Time limit exceeded |
10 | Execution timed out | 2086 ms | 896 KB | Time limit exceeded |