iT邦幫忙

2024 iThome 鐵人賽

DAY 22
0
佛心分享-刷題不只是刷題

CPE C++ 刷題系列 第 22

CPE C++ 刷題 Day 22

  • 分享至 

  • xImage
  •  

今天來解YKL25(UVA10041):Vito'sfamily

Vito'sfamily

https://ithelp.ithome.com.tw/upload/images/20241006/20155574KlMJOPMujC.png

這題是要找中位數的和
將居住地點設在中位數的話
所有其他街道編號到這個位置的距離的總和是最小的

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

int main(){
	int n;
	cin >> n;
	while(n--){
		int numbers;
		cin >> numbers;
		
		vector<int> vec(numbers);
		for(int i=0;i<numbers;i++){
			cin >> vec[i];
		}
		
		sort(vec.begin(),vec.end());
		
		int sum=0,mid = vec[numbers/2];
		for(int i=0;i<numbers;i++){
			sum += abs(mid-vec[i]);
		}
		
		cout << sum << endl;
	}
	
	
	return 0;
}

上一篇
CPE C++ 刷題 Day 21
下一篇
CPE C++ 刷題 Day 23
系列文
CPE C++ 刷題30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言