제출 #692905

#제출 시각아이디문제언어결과실행 시간메모리
692905zeroesandonesMiners (IOI07_miners)C++17
45 / 100
1582 ms832 KiB
// https://oj.uz/problem/view/IOI07_miners #include "bits/stdc++.h" using namespace std; typedef long long ll; typedef long double ld; typedef vector<ll> vi; typedef pair<ll, ll> pi; #define FOR(i, j, k) for (ll i = j; i < (ll) k; ++i) #define FORD(i, j, k) for (ll i = j; i >= (ll) k; --i) #define nl "\n" #define sp " " #define all(x) (x).begin(), (x).end() #define sc second #define fr first #define pb emplace_back void solve() { ll n; cin >> n; string s; cin >> s; ll ans = 0; FOR(i, 0, (1<<n)) { vector<char> m1, m2; FOR(j, 0, n) { if(i & (1<<j)) { m1.pb(s[j]); } else { m2.pb(s[j]); } } ll curr = 0; for(int j = 0; j < (int) m1.size(); ++j) { set<char> diff; diff.insert(m1[j]); if(j - 1 >= 0) diff.insert(m1[j - 1]); if(j - 2 >= 0) diff.insert(m1[j - 2]); curr += diff.size(); } for(int j = 0; j < (int) m2.size(); ++j) { set<char> diff; diff.insert(m2[j]); if(j - 1 >= 0) diff.insert(m2[j - 1]); if(j - 2 >= 0) diff.insert(m2[j - 2]); curr += diff.size(); } ans = max(ans, curr); } cout << ans << nl; } signed main() { ios_base::sync_with_stdio(false); cin.tie(NULL); ll t = 1; // cin >> t; while (t--) { solve(); } }
#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...