[BOJ 23830] 제기차기
View as PDF
Submit solution
Points:
3
Time limit:
1.0s
Memory limit:
512M
Problem types
Allowed languages
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text
얼마 전 학교 체육대회 "사차원"이 열렸다. 대회 종목 중 하나는 제기차기였고, 몇몇 학생을 제외하고는 대부분의 학생이 한두 번 밖에 차지 못했다. 잘 하는 사람과 못 하는 사람의 점수 차이가 너무 커졌기 때문에, 대회 전체 점수에 영향이 클 거라고 생각한 선생님은 다음과 같은 규칙을 정했다.</p>
- 기준이 되는 양의 정수 $K$를 정한다.
- 어떤 학생의 제기차기 점수가 $K+r$ 초과라면 그 학생의 점수에서 $p$를 뺀다.
- 어떤 학생의 제기차기 점수이 $K$ 미만이라면 그 학생의 점수에 $q$를 더한다.
선생님은 이 규칙으로 점수를 계산한 후에, 전교생의 제기차기 점수 합이 $S$ 미만이라면, 학생들에게 제기차기를 충분히 연습시키지 못한 태영이에게 체육관 청소를 시킬 예정이다. 선생님은 $p, q, r, S$를 정한 후에 태영이에게 $K$를 정해달라고 했다. 태영이가 청소를 하지 않아도 되도록 $K$를 정하는 방법이 있는지, 있다면 $K$로 가능한 최솟값은 얼마인지 구하여라.
입력 형식
첫째 줄에 전교생 수 $N$이 주어진다.</p>
둘째 줄에 학생 $N$ 명의 제기차기 점수 $A_1, A_2, \cdots, A_N$이 공백으로 구분되어 주어진다.
셋째 줄에 선생님이 정한 상수 $p, q, r, S$가 공백으로 구분되어 주어진다.
출력 형식
태영이가 청소를 하지 않아도 되는 $K$의 최솟값을 출력한다. 만약에 어떻게 $K$를 정해도 태영이가 청소를 해야 한다면, $-1$을 출력한다.
예제 입력 1
5
3 6 10 1 12
1 2 3 34
예제 출력 1
4
예제 입력 2
3
2 6 8
1 4 6 29
예제 출력 2
-1
Comments