예제 4번이 반례네요.
그리고 40~55 줄이랑 67~68 줄에 min 양수일때랑 음수일때 구분하셨는데,
어짜피 min<=0 일때 -abs(min) = min 이기 때문에 나눌 필요 없어 보입니다.
2108번 - 통계학
우선 43번째줄에서 cnt[1]을 확인하는데,
range=1일 경우에는 (입력 숫자가 1종류) 오류가 날 수 있네요.
그리고 40번째 줄에 std::sort 사용하셨는데,
sort는 second값이 같을 때에 원래 순서를 보장해주지 않아서 (= unstable 하다) 문제가 생기네요.
예를 들어서
3
4000
1
0
를 입력하면,
sort 함수를 사용한 뒤에 cnt를 보면
cnt[0].first=1
cnt[1].first=4000
cnt[2].first=0
...
처럼 크기 순대로 정렬이 안될 수도 있습니다.
이런 경우에는 std::stable_sort 함수를 쓰시면 해결될겁니다.
댓글을 작성하려면 로그인해야 합니다.
dbgh9129 2년 전
기타 코딩 컨벤션이나 고쳐야 하는 점도 지적 부탁드립니다!!