题解 | #组队竞赛#

【题目解析】:

首先明确,队伍的水平就是队伍成员水平的第二高,第二高意味着要排序,最后一个必然是从后开始选,第一个必然是从开始选,那么第二高当然是从后面选。一个队伍三个成员,即从开始选一个,从后面选两个。然后继续从剩下的数里选。 要的结果是输出一个sum,则只需要推出这个公式即可。

#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
		
int main()
{
    int n;cin>>n;
    vector<int> v(3*n);
    
    for(int i = 0; i< v.size();++i)
    {
        cin>>v[i];
    }
    
    sort(v.begin(),v.end());
    long sum = 0;
    for(int i = 0; i < n; ++i)
    {
        sum += v[v.size()-(2*(i+1))];  //i是从0开始的,就要+1,也可以i从1开始,就不需要了
    }
    
    cout<<sum<<endl;
    return 0;
}
全部评论

相关推荐

07-09 12:12
门头沟学院 Java
5月底投简历7月初开奖收获秋招第一个offer,虽然白菜价,但至少能保底了
土木转行ing:土木博士想转图像,最后拿了 tp 提前批 sp 最低档,感觉性价比不高
TP-LINK开奖132人在聊
点赞 评论 收藏
分享
07-11 10:56
门头沟学院 Java
码客明:大胆的说自己能实习6个月就行
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务