C++工程師養成 每日一題

来源:https://www.cnblogs.com/Kaniso-Vok/archive/2019/11/09/11824007.html

題目: 鏈接:https://www.nowcoder.com/questionTerminal/6736cc3ffd1444a4a0057dee89be789b?orderByHotValue來源:牛客網牛牛舉辦了一次編程比賽,參加比賽的有3*n個選手,每個選手都有一個水平值a_i.現在要將這些選 ...


題目:

鏈接:https://www.nowcoder.com/questionTerminal/6736cc3ffd1444a4a0057dee89be789b?orderByHotValue
來源:牛客網

牛牛舉辦了一次編程比賽,參加比賽的有3*n個選手,每個選手都有一個水平值a_i.現在要將這些選手進行組隊,一共組成n個隊伍,即每個隊伍3人.牛牛發現隊伍的水平值等於該隊伍隊員中第二高水平值。
例如:
一個隊伍三個隊員的水平值分別是3,3,3.那麼隊伍的水平值是3
一個隊伍三個隊員的水平值分別是3,2,3.那麼隊伍的水平值是3
一個隊伍三個隊員的水平值分別是1,5,2.那麼隊伍的水平值是2
為了讓比賽更有看點,牛牛想安排隊伍使所有隊伍的水平值總和最大。
如樣例所示:
如果牛牛把6個隊員劃分到兩個隊伍
如果方案為:
team1:{1,2,5}, team2:{5,5,8}, 這時候水平值總和為7.
而如果方案為:
team1:{2,5,8}, team2:{1,5,5}, 這時候水平值總和為10.
沒有比總和為10更大的方案,所以輸出10.

 

 

解答代碼:(此博客上所發所有代碼均為純手打,所以難免失誤,求大佬們多指錯<  __   __  >)

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

int main(){
int n;
long long sum=0;
vector<int> s;
cin >> n;
s.resize(3 * n);
for (int i = 0; i < 3 * n; ++i){
cin >> s[i];
}
sort(s.begin(), s.end());
for (int i = n; i <= 3 * n-2; i+=2){
sum += s[i];
}
for (int e : s){
cout << e<< ' ';
}
cout << endl;
cout << sum;
return 0;
}

您的分享是我們最大的動力!

更多相關文章
  • 1 先談Finalize() finalize()能做的所有工作,使用try-finally或者其他方式都可以做得更好、更及時,所以筆者建議大家完全可以忘掉Java語言中有這個方法的存在。 ——《深入理解JVM》 finalize()方法確實可以實現一次對象的自救,但是其不確定性和昂貴的運行代價都表 ...
  • 通過前面2篇文章我們搭建了SW的基礎環境,監控了微服務,能瞭解所有服務的運行情況。但是當出現服務響應慢,介面耗時嚴重時我們需要立即定位到問題,這就需要我們今天的主角 監控告警,同時此篇也是SW系列的最後一篇。 UI參數 首先我們認識一下SW DashBoard上的幾個關鍵參數,如下圖所示 告警配置 ...
  • 一.docker簡介 1、docker定義:docker是一個用來裝應用的容器,就像杯子可以裝水,筆筒可以裝筆,書包可以放書一樣。你可以把“Hello World!”放到docker中,也可以把網站放到docker中,你可以把任何你想到的程式放到docker中。 2、docker思想: (1)集裝箱 ...
  • 智力題目有三個容積分別為3升、5升、8升的水桶,其中容積為8升的水桶中裝滿了水,容積為3升和容積為5升的水桶都是空的。三個水桶都沒有刻度,現在需要將大水桶中的8升水等分成兩份,每份都是4升水,附加條件是只能這三個水桶,不能藉助其他輔助容器。“恩,是的,這是一個很經典的問題。”“然而,我們並不能想全, ...
  • 今天,在Anaconda prompt啟動python遇到瞭如下錯誤: UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0xaf in position 553: illegal multibyte sequence 看了看出錯跟蹤,查看瞭如下位置 ...
一周排行
x