Skip to content

Commit 8834de5

Browse files
authored
Merge pull request #522 from prashant2007-wq/main
solved the cp problem
2 parents 664d27b + cb69c83 commit 8834de5

1 file changed

Lines changed: 90 additions & 0 deletions

File tree

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
// ----------------------------------------------------------------------
2+
// ██████╗ ██████╗ ██████╗ ███████╗
3+
// ██╔════╝██╔═══██╗██╔══██╗██╔════╝
4+
// ██║ ██║ ██║██║ ██║█████╗
5+
// ██║ ██║ ██║██║ ██║██╔══╝
6+
// ╚██████╗╚██████╔╝██████╔╝███████╗
7+
// ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝
8+
// ----------------------------------------------------------------------
9+
// Prashant'S CP TEMPLATE
10+
// By praxxnnt06
11+
// "Think. Code. Conquer."
12+
// ----------------------------------------------------------------------
13+
#include<iostream>
14+
#include<vector>
15+
#include<algorithm>
16+
#include<unordered_map>
17+
#include<bit>
18+
#include<map>
19+
#include<set>
20+
#include<queue>
21+
#include<stack>
22+
#include<string>
23+
#include<iterator>
24+
#include<cmath>
25+
#include<iomanip>
26+
#include<climits>
27+
#include<cstdint>
28+
#include<cstdlib>
29+
using namespace std;
30+
#define ll long long
31+
#define int long long
32+
#define MOD 1000000007
33+
#define pb push_back
34+
#define all(v) v.begin(),v.end()
35+
#define rall(v) v.rbegin(),v.rend()
36+
#define sz(x) (int)(x).size()
37+
#define srt(v) sort(v.begin(),v.end())
38+
#define Rsrt(v) sort(v.begin(),v.end(),greater<int>())
39+
#define endl "\n"
40+
#define F first
41+
#define S second
42+
#define vi vector<int>
43+
#define vc vector<char>
44+
#define vb vector<bool>
45+
#define vvi vector<vector<int>>
46+
#define pii pair<int,int>
47+
#define umap unordered_map
48+
#define mii map<int,int>
49+
#define fr(i,a,b) for(int i=a;i<b;i++)
50+
#define frr(i,a,b) for(int i=a;i>b;i--)
51+
#define mxe(v) *max_element(v.begin(),v.end())
52+
#define mne(v) *min_element(v.begin(),v.end())
53+
void solve(){
54+
int n,k;
55+
cin>>n>>k;
56+
vi a(n);
57+
fr(i,0,n) cin>>a[i];
58+
srt(a);
59+
int remain=n-k;
60+
int minPos=LLONG_MAX;
61+
int maxPos=LLONG_MIN;
62+
fr(i,0,k+1){
63+
int start=i;
64+
int end=i+remain-1;
65+
if(end>=n) break;
66+
67+
if(remain%2==1){
68+
int mid=start+(remain-1)/2;
69+
minPos=min(minPos,a[mid]);
70+
maxPos=max(maxPos,a[mid]);
71+
}
72+
else{
73+
int mid1=start+remain/2-1;
74+
int mid2=start+remain/2;
75+
minPos=min(minPos,a[mid1]);
76+
maxPos=max(maxPos,a[mid2]);
77+
}
78+
}
79+
cout<<maxPos-minPos+1<<endl;
80+
}
81+
signed main(){
82+
ios_base::sync_with_stdio(false);
83+
cin.tie(NULL);
84+
int t;
85+
cin>>t;
86+
while(t--){
87+
solve();
88+
}
89+
return 0;
90+
}

0 commit comments

Comments
 (0)