Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <set>
- #include <map>
- using namespace std;
- int main()
- {
- int n;
- cin >> n;
- string s;
- cin >> s;
- set<char> st;
- for(int i = 0; i < s.size(); i++) {
- st.insert(s[i]);
- }
- map<char, int> cnt;
- int result = 2e9;
- int unique_chars = st.size();
- int curr_uni = 0;
- int j = 0;
- for(int i = 0; i < n; i++) {
- while(j < n and curr_uni < unique_chars) {
- if(cnt[s[j]] == 0) {
- curr_uni++;
- }
- cnt[s[j]]++;
- if(curr_uni == unique_chars) {
- result = min(result, j - i + 1);
- break;
- }
- j++;
- }
- int i_tmp = i;
- while(i < n and curr_uni == unique_chars) {
- result = min(result, j - i + 1);
- if(cnt[s[i]] == 1) {
- curr_uni--;
- break;
- }
- cnt[s[i]]--;
- i++;
- }
- // i--;
- }
- cout << result << endl;
- return 0;
- }
- // 7
- //aaBCCee
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement