제출 #707778

#제출 시각아이디문제언어결과실행 시간메모리
707778TAhmed33Miners (IOI07_miners)C++98
45 / 100
1584 ms36036 KiB
#include <bits/stdc++.h> using namespace std; int n; vector <int> adds; int ans (int pos, int a, int b, int c, int d) { if (pos == n) { return 0; } map <int, int> distinct; if (a != 0) distinct[a]++; if (b != 0) distinct[b]++; distinct[adds[pos]]++; int x = ans(pos + 1, b, adds[pos], c, d) + (int)distinct.size(); map <int, int> distinct2; if (c != 0) distinct2[c]++; if (d != 0) distinct2[d]++; distinct2[adds[pos]]++; x = max(x, ans(pos + 1, a, b, d, adds[pos]) + (int)distinct2.size()); return x; } int main () { string s; cin >> n >> s; for (auto i : s) { if (i == 'M') adds.push_back(1); else if (i == 'F') adds.push_back(2); else adds.push_back(3); } cout << ans(0, 0, 0, 0, 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...