Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- typedef long long ll;
- vector <int> b;
- int n, k;
- const int N = 1e6 + 100;
- int a[N];
- set <vector <int> > Set;
- int main () {
- #ifdef LOCAL
- freopen ("in", "r", stdin);
- freopen ("out", "w", stdout);
- #endif
- ios_base :: sync_with_stdio (0);
- cin.tie (0);
- cin >> n >> k;
- for (int i = 1; i <= n; ++i)
- cin >> a[i];
- for (int i = 1; i <= n; ++i) {
- b.resize (0);
- for (int j = 1; j <= k && i + j - 1 <= n; ++j) {
- b.emplace_back (a[i + j - 1]);
- }
- Set.insert (b);
- while (Set.size () > k)
- Set.erase (*Set.rbegin ());
- }
- set <vector <int> > Set2;
- for (auto s : Set) {
- vector <int> t;
- for (int j = 0; j < s.size (); ++j) {
- t.emplace_back (s[j]);
- Set2.insert (t);
- while (Set2.size () > k) {
- Set2.erase (*Set2.rbegin ());
- }
- }
- }
- if (Set2.size () < k) {
- cout << -1;
- } else {
- for (auto it : *Set2.rbegin ()) {
- cout << it << " ";
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement