[BOJ 8973] 수학 공책
View as PDF
Submit solution
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text
Points:
3
Time limit:
1.0s
Memory limit:
128M
Problem types
Allowed languages
창영이의 수학 공책에는 길이가 N이고 정수로 이루어진 수열 두 개가 적혀져 있다. 두 수열의 흐릿함을 계산하려면, 두 번째 수열을 뒤집은 다음, 같은 위치에 있는 두 수의 곱을 더해야 한다.
| 3 | -4 | -3 | -2 | 2 | 0 |
| -3 | 0 | 5 | -1 | 3 | 2 |
예를 들어, 위의 두 수열의 흐릿함은 3×2 + (-4)×3 + (-3)×(-1) + (-2)×5 + 2×0 + 0×(-3) = -13 이다.
창영이는 앞에서부터 B개, 뒤에서부터 E개를 지워서 두 수열의 흐릿함을 되도록 크게 만들려고 한다. B와 E는 0일 수도 있으며, 수를 지울 때는 두 수열에서 동시에 지워야 한다.
흐릿함을 가장 크게 만들려면, B와 E가 몇이 되어야 하는지 구하는 프로그램을 작성하시오.
입력 형식
첫째 줄에 수열의 길이 N (1 ≤ N ≤ 2000)이 주어진다.
다음 두 줄에 걸쳐서 두 수열이 주어진다. 모든 숫자는 -1000보다 크거나 같고, 1000보다 작거나 같다.
출력 형식
첫째 줄에 B와 E를 출력한다. (0 ≤ B, E < N, B+E < N)
둘째 줄에는 흐릿함의 최댓값을 출력한다.
흐릿함을 최대로 만드는 B와 E가 여러 가지인 경우에는 아무거나 출력한다.
예제 입력 1
6
3 -4 -3 -2 2 0
-3 0 5 -1 3 2
예제 출력 1
0 3
24
예제 입력 2
5
1 1 1 1 1
2 2 2 2 2
예제 출력 2
0 0
10
예제 입력 3
5
5 -5 -5 -5 5
-5 -5 5 -5 -5
예제 출력 3
2 0
75
Comments