Submission #432287

#TimeUsernameProblemLanguageResultExecution timeMemory
432287tengiz05Miners (IOI07_miners)C++17
45 / 100
602 ms844 KiB
#include <bits/stdc++.h> int main() { std::ios::sync_with_stdio(false); std::cin.tie(nullptr); int n; std::cin >> n; std::string s; std::cin >> s; std::vector<int> a(n); for (int i = 0; i < n; i++) { if (s[i] == 'M') a[i] = 0; if (s[i] == 'F') a[i] = 1; if (s[i] == 'B') a[i] = 2; } if (n <= 20) { int ans = 0; for (int msk = 0; msk < (1 << n); msk++) { int res = 0; std::vector<int> ca(3), cb(3); std::vector<int> A, B; for (int i = 0; i < n; i++) { if (msk & (1 << i)) { if (A.size() >= 3) { ca[A[A.size() - 3]]--; } A.push_back(a[i]); ca[a[i]]++; res += bool(ca[0]) + bool(ca[1]) + bool(ca[2]); } else { if (B.size() >= 3) { cb[B[B.size() - 3]]--; } B.push_back(a[i]); cb[a[i]]++; res += bool(cb[0]) + bool(cb[1]) + bool(cb[2]); } } ans = std::max(ans, res); } std::cout << ans << "\n"; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...