Submission #1156248

#TimeUsernameProblemLanguageResultExecution timeMemory
1156248Alihan_8Miners (IOI07_miners)C++20
45 / 100
1595 ms832 KiB
#include <bits/stdc++.h>

using namespace std;

signed main(){
	int n; cin >> n;
	
	string s; cin >> s;
	
	auto calc = [&](string t){
		int ans = 0;
		
		for ( int i = 0; i < (int)t.size(); i++ ){
			set <char> st;
			
			for ( int j = i - 2; j <= i; j++ ){
				if ( j >= 0 ) st.insert(t[j]);
			}
			
			ans += st.size();
		}
		
		return ans;
	};
	
	int opt = 0;
	
	for ( int mask = 0; mask < (1 << n); mask++ ){
		string x, y;
		
		for ( int i = 0; i < n; i++ ){
			if ( mask >> i & 1 ) x += s[i];
			else y += s[i];
		}
		
		opt = max(opt, calc(x) + calc(y));
	}
	
	cout << opt << '\n';
}
#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...