Submission #2097343


Source Code Expand

#include "bits/stdc++.h"
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
const int INF = 1e9;
const ll LINF = 1e18;

/*
<url:https://agc012.contest.atcoder.jp/tasks/agc012_a>
問題文============================================================
 AtCoder Group Contestの参加者に 3N 人が参加します。
 i 番目の参加者の 強さ は整数 ai で表されます。
 参加者が 3 人 1 組となるようにチームを N 組作ることにしました。
 1 人の参加者が複数のチームに所属することはできません。
 
 チームの強さはチームメンバーの強さのうち 2 番目に大きい値で表されます。
 例えば、強さが 1,5,2 のメンバーからなるチームの強さは 2 になり、
 強さが 3,2,3 のメンバーからなるチームの強さは 3 になります。
 
 N 組のチームの強さの和としてありうる値のうち、最大の値を求めてください。
=================================================================

解説=============================================================

================================================================
*/
int main(void) {
	cin.tie(0); ios::sync_with_stdio(false);
    ll N; cin >> N;
    vector<ll> a(3*N); for(auto& in:a) cin >> in;
    sort(a.begin(),a.end());
    ll ans = 0;
    ll idx = 3*N-2;
    while(N--){
        ans += a[idx];
        idx -= 2;
    }
    cout << ans << endl;
	return 0;
}

Submission Info

Submission Time
Task A - AtCoder Group Contest
User vjudge4
Language C++14 (GCC 5.4.1)
Score 300
Code Size 1500 Byte
Status AC
Exec Time 47 ms
Memory 2560 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 2
AC × 12
Set Name Test Cases
Sample 00_example_01.txt, 00_example_02.txt
All 00_example_01.txt, 00_example_02.txt, 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt
Case Name Status Exec Time Memory
00_example_01.txt AC 1 ms 256 KB
00_example_02.txt AC 1 ms 256 KB
01.txt AC 1 ms 256 KB
02.txt AC 1 ms 256 KB
03.txt AC 1 ms 256 KB
04.txt AC 1 ms 256 KB
05.txt AC 4 ms 384 KB
06.txt AC 36 ms 2560 KB
07.txt AC 22 ms 2560 KB
08.txt AC 46 ms 2560 KB
09.txt AC 47 ms 2560 KB
10.txt AC 46 ms 2560 KB