728x90
https://www.acmicpc.net/problem/9017
처음 봤을 땐 되게 쉬운 문제라고 생각했는데 틀렸습니다가 떠서 질문 게시판을 보니
각 팀의 참가 선수가 여섯보다 작으면 그 팀은 점수 계산에서 제외됨을 주의하라.
이것을 대강 넘어가서 그런 것이었다..!!
그리고 점수가 낮을 수록 순위가 높은 것이었다..!!
문제를 잘 읽고 분석을 철저히 하자.
#include<iostream>
#include<vector>
#include<map>
using namespace std;
int main(){
int T; cin >> T;
for(int t = 0; t < T; t++){
int N; cin >> N;
vector<int> race;
map<int, int> maps;
for(int i = 0; i < N; i++){
int n; cin >> n;
maps[n]++;
race.push_back(n);
}
vector<int> scores[201];
int idx = 1;
for(int i = 0; i < N; i++){
if(maps[race[i]] == 6) {
scores[race[i]].push_back(idx);
idx++;
}
}
int winner = -1;
int winScore = 1231312;
int five = -1;
for(int i = 1; i < 201; i++){
int tmp = 0;
if(scores[i].size() == 6){
for(int j = 0; j < 4; j++) tmp += scores[i][j];
if(tmp < winScore) {
winScore = tmp;
winner = i;
five = scores[i][4];
}
if(tmp == winScore && five > scores[i][4]){
winner = i;
five = scores[i][4];
}
}
}
cout << winner << '\n';
}
}
'백준 문제 풀이' 카테고리의 다른 글
[백준 22234번] 가희와 은행 (C++) (0) | 2024.10.26 |
---|---|
[백준] 1, 2, 3 더하기 4 (C++) (0) | 2024.10.24 |
백준 3078번 - 좋은 친구(C++) (0) | 2024.10.14 |
백준 8901번 - 화학 제품 (Java) (0) | 2024.09.27 |
백준 2651번 - 자동차경주대회 (Java) (1) | 2024.09.27 |