설명
탁자 위에, n개의 사과가 있다. i번째의 사과는 k+i의 무게를 가진다(1<=i<=n). 딱 하나의 사과만이 맛있고, 그보다 가벼운 사과들은 모두 쓰고, 그보다 무거운 사과들은 모두 시다. 거인은 어떤 사과가 맛있는지 알기 위해, 사과를 먹어보는 수밖에 없다. 그는 쓴 사과와 신 사과를 싫어한다. 그는 어떻게 해야 할까?
예를 들어, n=4, k=0일 때, 사과들의 무게는 각각 1, 2, 3, 4이다. 만약 거인이 사과#2를 먹는다면,
#2가 맛있으면 답은 #2이다.
#2가 시면 답은 #1이다.
#2가 쓰면 답은 #3이나 #4가 될 테고, 그는 #3을 먹어보고 답을 알게 될 것이다.
불쌍한 거인은 맛있는 사과가 무엇인지 알기 위해서 맛없는 사과들을 먹을 각오를 해야 한다. 모든 경우에 거인이 먹어야 되는 총 사과의 무게를 계산해주자.
위의 방법에 의하면,
#1이 맛있을 경우 : 2
#2가 맛있을 경우 : 2
#3이 맛있을 경우 : 2 + 3 = 5
#4가 맛있을 경우 : 2 + 3 = 5
고로 총 무게의 합은 2 + 2 + (2 + 3) + (2 + 3) = 14이다.
하지만 위의 방법은 최적이 아니다. 그가 사과#1을 먼저 먹어본다면, 그는 각 경우에 1, 3, 3, 3의 무게의 사과를 먹어야 하고, 총합은 14보다 작은 13이다.
각 경우에 최적의 방법으로 사과를 먹을 때, 거인이 먹게 되는 총 사과의 무게를 구하여라.
입력 형식
입력의 첫 줄에 정수 테스트 케이스의 개수를 의미하는 t가 들어온다.(1<=t<=100). 이어지는 t줄에는 각 줄에 n과 k가 주어진다.(1<=n+k<=500)
출력 형식
각 테스트 케이스에 대해서 거인이 먹어야 되는 가장 적은 양의 사과의 무게를 예제와 같은 형식으로 출력한다.
입력 예제
5
2 0
3 0
4 0
5 0
10 20
출력 예제
Case 1: 2
Case 2: 6
Case 3: 13
Case 4: 22
Case 5: 605
퍼가고자 하시는 분은 링크를 달아 주시기 바랍니다.




댓글을 달아 주세요