Submission #1218932

#TimeUsernameProblemLanguageResultExecution timeMemory
1218932somefolkMiners (IOI07_miners)C++20
9 / 100
1599 ms589824 KiB
#include <iostream> #include <cmath> #include <algorithm> #include <string> #include <vector> #include <map> #include <unordered_map> #include <queue> #include <set> #include <unordered_set> #include <complex> #include <list> #include <cassert> #include <chrono> #include <random> #include <stack> #include <iomanip> #include <fstream> using namespace std; #define endl "\n" // #define int long long const int INF = 1e9+7; const int MOD = 1e9+7; int n, sol = 0; string s; int check(char a, char b, char c){ unordered_set<char> st; st.insert(a); st.insert(b); st.insert(c); return (int)st.size(); } void perm(int i, vector<char> a, vector<char> b){ if((int)a.size()+(int)b.size()==n){ int cnt = 0; for(int i = 0; i < (int)a.size(); i++){ if(i == 0){ cnt++; } else if(i == 1){ if(a[i-1] == a[i]) cnt += 1; else cnt += 2; } else { cnt += check(a[i], a[i-1], a[i-2]); } } for(int i = 0; i < (int)b.size(); i++){ if(i == 0){ cnt++; } else if(i == 1){ if(b[i-1] == b[i]) cnt += 1; else cnt += 2; } else { cnt += check(b[i], b[i-1], b[i-2]); } } sol = max(sol, cnt); return; } a.push_back(s[i+1]); perm(i+1, a, b); a.pop_back(); b.push_back(s[i+1]); perm(i+1, a, b); b.pop_back(); } void solve(){ cin >> n >> s; perm(0, {}, {}); cout << sol-1 << endl; } int32_t main(){ ios_base::sync_with_stdio(false); cin.tie(nullptr); int t = 1; // cin >> t; while(t--) solve(); 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...