Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define int long long
- using namespace std;
- signed main(){
- ios_base::sync_with_stdio(false);
- cin.tie(0);
- int n, k, q;
- cin >> n >> k >> q;
- vector<int> v(n);
- for (int i=0; i < n; i++) cin >> v[i];
- vector<pair<int, int> > srt;
- for (int i=0; i < n; i++) srt.push_back(make_pair(v[i], i));
- sort(srt.begin(), srt.end());
- int ans = 1e18;
- for (int i=0; i < n; i++){
- if (i!=0){
- if (srt[i-1].first == srt[i].first) continue;
- }
- vector<int> block;
- for (int j=0; j < i; j++) block.push_back(srt[j].second);
- block.push_back(-1);
- block.push_back(n);
- sort(block.begin(), block.end());
- vector<int> abl;
- for (int j=0; j < block.size() - 1; j++){
- vector<int> best;
- for (int p=block[j]+1; p <= block[j+1]-1; p++) best.push_back(v[p]);
- sort(best.begin(), best.end(), greater<int>());
- while (best.size() >= k){
- abl.push_back(best.back());
- best.pop_back();
- }
- }
- sort(abl.begin(), abl.end());
- if (abl.size() < q) continue;
- ans = min(ans, abl[q-1] - abl[0]);
- }
- cout << ans;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement