1037B - Reach Median - CodeForces Solution


greedy *1300

Please click on ads to support us..

C++ Code:

#include <bits/stdc++.h>
using namespace std;
#define int long long
#define cy cout<<"YES"<<endl;
#define cn cout<<"NO"<<endl;
#define c0 cout<<0<<endl;
#define c1 cout<<1<<endl;
#define f(i,a,n) for(int i=a;i<n;i++)
#define pb push_back
#define svec(v) sort(v.begin(),v.end())
#define svrev(v) sort(v.begin(),v.end(),greater<int>())
 
 
int32_t main(){
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int t=1;
	// cin>>t;
	while(t--){
		int n,k;
		cin>>n>>k;
		vector<int> v;
		f(i,0,n){
			int x;
			cin>>x;
			v.pb(x);
		}
		svec(v);
		int ans = v[n/2];
		if(ans==k){
			c0;
		}
		else if(ans<k){
			auto it = lower_bound(v.begin(),v.end(),k);
			int ans1 = it - v.begin(),c=0;
			f(i,n/2,ans1){
				c+=abs(v[i]-k);
			}
			cout<<c<<endl;
		}
		else{
			auto it = lower_bound(v.begin(),v.end(),k);
			int ans1 = it - v.begin(),c=0;
			f(i,ans1,n/2 + 1){
				c+=abs(v[i]-k);
			}
			cout<<c<<endl;			
		}
	}
	return 0;
}


Comments

Submit
0 Comments
More Questions

1084A - The Fair Nut and Elevator
1440B - Sum of Medians
1032A - Kitchen Utensils
1501B - Napoleon Cake
1584B - Coloring Rectangles
1562B - Scenes From a Memory
1521A - Nastia and Nearly Good Numbers
208. Implement Trie
1605B - Reverse Sort
1607C - Minimum Extraction
1604B - XOR Specia-LIS-t
1606B - Update Files
1598B - Groups
1602B - Divine Array
1594B - Special Numbers
1614A - Divan and a Store
2085. Count Common Words With One Occurrence
2089. Find Target Indices After Sorting Array
2090. K Radius Subarray Averages
2091. Removing Minimum and Maximum From Array
6. Zigzag Conversion
1612B - Special Permutation
1481. Least Number of Unique Integers after K Removals
1035. Uncrossed Lines
328. Odd Even Linked List
1219. Path with Maximum Gold
1268. Search Suggestions System
841. Keys and Rooms
152. Maximum Product Subarray
337. House Robber III