탐색으로 풀면 TL이 남.
내림차순으로 sort해서 3개씩 묶어 계산하면 됨.
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
bool compare(int a, int b)
{
return a > b;
}
int main(int argc, char** argv)
{
ios::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
int test_case;
int T;
cin >> T;
for (test_case = 1; test_case <= T; ++test_case)
{
long long ans = 0;
int N; cin >> N;
vector<int> value(N);
for (int i = 0; i < N; i++)
cin >> value[i];
sort(value.begin(), value.end(), compare);
for (int i = 0; i < N; i += 3)
{
ans += value[i];
if (i + 1 < N)
ans += value[i + 1];
}
cout << '#' << test_case << ' ' << ans << '\n';
}
return 0;
}
'Coding_Test 연습 > SWEA' 카테고리의 다른 글
[SWEA] (C++) D4 7465 창용 마을 무리의 개수 (0) | 2022.04.26 |
---|---|
[SWEA] (C++) D4 5987 달리기 (0) | 2022.04.26 |
[SWEA] (C++) D4 8501 은비의 동전 뒤집기 (0) | 2022.04.25 |
[SWEA] (C++) D4 4261 빠른 휴대전화 키패드 (0) | 2022.04.25 |
[SWEA] (C++) D4 1861 정사각형 방 (0) | 2022.04.25 |