Submission
# | When | Author | Problem | Language | CPU | Memory | |
---|---|---|---|---|---|---|---|
5580 | 2022-08-19 18:59:35 | ShajibEwuCse19 | Min Substring | C++ 17 | 20 ms | 3616 kb | Accepted |
Test Cases
# | CPU | Memory | Points | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
1 | 3 ms | 3404 kb | 1 | Accepted | |||||||
2 | 3 ms | 3456 kb | 1 | Accepted | |||||||
3 | 3 ms | 3444 kb | 1 | Accepted | |||||||
4 | 4 ms | 3400 kb | 1 | Accepted | |||||||
5 | 3 ms | 3288 kb | 1 | Accepted | |||||||
6 | 3 ms | 3296 kb | 1 | Accepted | |||||||
7 | 4 ms | 3432 kb | 1 | Accepted | |||||||
8 | 3 ms | 3452 kb | 1 | Accepted | |||||||
9 | 4 ms | 3296 kb | 1 | Accepted | |||||||
10 | 20 ms | 3432 kb | 1 | Accepted | |||||||
11 | 18 ms | 3588 kb | 1 | Accepted | |||||||
12 | 20 ms | 3580 kb | 1 | Accepted | |||||||
13 | 18 ms | 3572 kb | 1 | Accepted | |||||||
14 | 19 ms | 3616 kb | 1 | Accepted | |||||||
15 | 20 ms | 3568 kb | 1 | Accepted | |||||||
16 | 17 ms | 3572 kb | 1 | Accepted | |||||||
17 | 18 ms | 3532 kb | 1 | Accepted | |||||||
18 | 17 ms | 3612 kb | 1 | Accepted | |||||||
Source Code
#include<bits/stdc++.h> using namespace std; string s; int arr[200]; int unique_char = 0; bool check(int mid) { int i = 0; int j = 0; int cnt = 0; while(i<mid) { if(arr[s[i]]==0) { cnt++; } arr[s[i++]]++; } if(cnt>=unique_char) return true; while(i<s.size()) { if(arr[s[i]]==0)cnt++; arr[s[i++]]++; if(arr[s[j]]==1)cnt--; arr[s[j++]]--; if(cnt>=unique_char)return true; } if(cnt>=unique_char)return true; return false; } int solution() { for(int i=0; i<s.size(); i++) { if(arr[s[i]]==0) { arr[s[i]]=1; unique_char++; } } int lo = 1; int hi = s.size(); while(hi-lo>1) { int mid = (lo+hi)/2; if(check(mid))hi = mid; else lo = mid; } while(check(hi-1))hi--; return hi; } int main() { cin>>s; int ans = solution(); cout << ans << "\n"; return 0; }