cses

solution to cses exercise problems
git clone git://git.superpozycja.net/cses
Log | Files | Refs | README

playlist.cpp (695B)


      1 #include <bits/stdc++.h>
      2 
      3 using namespace std;
      4 
      5 using ui = unsigned int;
      6 using l = long;
      7 using ul = unsigned long;
      8 using ll = long long;
      9 using ull = unsigned long long;
     10 
     11 using vi = vector<int>;
     12 using vui = vector<ui>;
     13 using vl = vector<l>;
     14 using vul = vector<ul>;
     15 using vll = vector<ll>;
     16 using vull = vector<ull>;
     17 
     18 void solve()
     19 {
     20 	int n;
     21 	cin >> n;
     22 	int k[n];
     23 	for (int i = 0; i < n; i++) {
     24 		cin >> k[i];
     25 	}
     26 
     27 	int l = 0,  r = 0;
     28 	int res = 0;
     29 	multiset<int> u;
     30 
     31 	while (r < n) {
     32 		u.insert(k[r]);
     33 		while (u.count(k[r]) > 1) {
     34 			u.erase(u.find(k[l]));
     35 			l++;
     36 		}
     37 		res = max(res, r - l + 1);
     38 		r++;
     39 	}
     40 
     41 	cout << res << "\n";
     42 }
     43 
     44 int main()
     45 {
     46 	ios::sync_with_stdio(0);
     47 	cin.tie(0);
     48 	solve();
     49 }