iT邦幫忙

2023 iThome 鐵人賽

DAY 8
0
自我挑戰組

c++競程30天系列 第 8

Day 10 Uva10041 - Vito's family

  • 分享至 

  • xImage
  •  

#1 Uva10041 - Vito's family

  • 題義
    *此題給妳一個數字代表會有幾筆測資,接下來在每筆測資裡面會有一個r代表有幾項數據。此題要你求出在r裡面找到一個離其他最近的房子。
  • 解法
    1.先將數列全部存取後排列。
    2.求出中間值。
    3.將每一項扣除中間值後輸出。
#include <bits/stdc++.h>
using namespace std;

int main() {
    int t,r,x;
    cin>>t;
    while(t--){
        cin>>r;
        vector <int> v;
        for(int i=0;i<r;i++){
            cin>>x;
            v.push_back(x);
        }
        sort(v.begin(),v.end());
        int mid=v[v.size()/2],ans=0;
        for(int i=0;i<v.size();i++)ans+=abs(mid-v[i]);
        cout<<ans<<endl;
    }
}

上一篇
Day 09 Uva10038 - Jolly Jumpers
下一篇
Day 11 Uva10050 – Hartals
系列文
c++競程30天9
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言