[BOJ 10424] 알고리즘 기말고사
View as PDF
Submit solution
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text
Points:
2
Time limit:
1.0s
Memory limit:
256M
Problem types
Allowed languages
상덕이의 기말고사가 코앞으로 다가왔다. 상덕이의 알고리즘 분반은 N명이 수강하고 있다. 알고리즘의 성적은 상대평가이기 때문에 동점자가 없으며, 각각의 학생들은 중간고사와 기말고사의 등수에 따라 만족도가 다르다. 중간고사 때 i등을 한 학생의 기말고사의 만족도 Ai는 다음과 같다.</p>
- Ai = Bi - Ci
- Bi = (중간고사 때 자신보다 높은 등수를 받고 기말고사에는 자신보다 낮은 등수를 받은 학생의 수)
- Ci = (중간고사 때 자신보다 낮은 등수를 받고 기말고사에는 자신보다 높은 등수를 받은 학생의 수)
예를 들어 5명의 학생들이 중간고사와 기말고사 때 각각 다음과 같은 성적을 받았다고 하자. 편의를 위해 학생들의 중간고사 성적을 기준으로 번호를 붙여보자. 예를 들어 중간고사 때 i등을 한 학생을 i번 학생이라 칭한다.
| 중간고사 성적 | 기말고사 성적 | |
|---|---|---|
| 1번 학생 | 1등 | 5등 |
| 2번 학생 | 2등 | 4등 |
| 3번 학생 | 3등 | 3등 |
| 4번 학생 | 4등 | 2등 |
| 5번 학생 | 5등 | 1등 |
5번 학생의 경우 중간고사 때 자신보다 높은 등수를 받고 기말고사에는 자신보다 낮은 등수를 받은 학생이 4명이고, 중간고사 때 자신보다 낮은 등수를 받고 기말고사에는 자신보다 높은 등수를 받은 학생의 수가 0명이므로 만족도는 4이다. 1번 학생의 경우 중간고사 때 자신보다 높은 등수를 받고 기말고사에는 자신보다 낮은 등수를 받은 학생이 0명이고, 중간고사 때 자신보다 낮은 등수를 받고 기말고사에는 자신보다 높은 등수를 받은 학생의 수가 4명이므로 만족도는 -4이다.
상덕이의 알고리즘 분반 학생들의 만족도를 출력하는 프로그램을 만들어라.
입력 형식
첫째 줄에는 알고리즘을 수강하는 학생의 수 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄에는 알고리즘 기말고사의 성적대로 1등부터 N등까지 중간고사의 성적을 번호로 하여 한 줄로 주어진다.
출력 형식
첫째 줄부터 중간고사 등수를 기준으로 1등부터 N등의 기말고사 성적 만족도를 한 줄씩 출력한다.
예제 입력 1
5
5 4 3 2 1
예제 출력 1
-4
-2
0
2
4
예제 입력 2
5
1 2 3 4 5
예제 출력 2
0
0
0
0
0
Comments