[BOJ 8973] 수학 공책

View as PDF

Submit solution

Points: 3
Time limit: 1.0s
Memory limit: 128M

Problem types
Allowed languages
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text

창영이의 수학 공책에는 길이가 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

There are no comments at the moment.