https://www.acmicpc.net/problem/18110
문제의 내용을 그대로 구현하면 되어서 어려운 문제는 아니었다.
그런데 n이 0일 때, 마지막에 ans를 구하는 부분
ans = round((double)ans / (down_trim - up_trim));에서
down_trim - up_trim이 0이 되기 때문에 이 경우만 예외처리를 해주어야 하는데
이것을 간과하여 처음 제출 시 오답 처리가 되었다.
그래서 아래 코드를 추가하여 해결하였다.
if(n == 0) {
cout << ans;
return 0;
}
#include <bits/stdc++.h>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int n, ans = 0;
cin >> n;
if(n == 0) {
cout << ans;
return 0;
}
vector<int> opinion(n);
for(int i=0; i<n; i++) {
cin >> opinion[i];
}
sort(opinion.begin(), opinion.end());
int up_trim = round(n * 0.15);
int down_trim = n - up_trim;
for(int i=up_trim; i<down_trim; i++) {
ans += opinion[i];
}
ans = round((double)ans / (down_trim - up_trim));
cout << ans;
return 0;
}