뜨개질

면접 대비

시간 제한1초메모리 제한128 MB

요약
시작 스티치 수, 총 행 수, 반복되는 행별 증감 패턴이 주어질 때, 0 0 0이 나올 때까지 각 프로젝트의 모든 행 스티치 수 합계를 구한다.
난이도

보통10점 중 4점

유형
수학, 누적 합, 시뮬레이션
정답자
아직 제출이 없습니다

문제

마르시아는 뜨개질을 좋아하며, 하나의 작품을 완성하는 데 코가 모두 몇 개 필요한지 알고 싶어 한다.

모든 작품은 주어진 개수의 코로 이루어진 첫 번째 줄에서 시작한다. 이후의 각 줄은 바로 앞 줄의 코 수에, 고정된 반복 패턴에서 가져온 값을 더해서 만들어진다. 패턴의 값이 양수이면 코 수가 늘고, 음수이면 줄며, 00이면 그대로이다. 패턴의 마지막 값을 사용한 다음에는 다시 패턴의 처음부터 반복한다.

예를 들어, 삼각형 숄은 33코로 시작해 이후 매 줄마다 22코씩 늘릴 수 있다. 그러면 각 줄의 코 수는 33, 55, 77, …\ldots이 되고, 33줄짜리 작품은 모두 3+5+7=153 + 5 + 7 = 15코가 필요하다.

목도리는 66을 더하고, 22를 빼고, 다시 22를 뺀 뒤, 마지막으로 아무 변화도 주지 않는 44줄 반복 패턴을 쓸 수 있다. 5050코로 시작하면 각 줄의 코 수는 5050, 5656, 5454, 5252, 5252가 되고, 패턴이 다시 반복되어 여섯 번째 줄은 5858코가 된다. 따라서 66줄짜리 작품은 모두 50+56+54+52+52+58=32250 + 56 + 54 + 52 + 52 + 58 = 322코가 필요하다.

하나 이상의 작품에 대한 설명이 주어질 때, 각 작품을 완성하는 데 필요한 전체 코 수를 구하여라.

입력

입력은 하나 이상의 작품에 대한 정보로 이루어진다. 각 작품은 두 줄로 주어진다.

첫 번째 줄에는 세 정수가 주어진다.

N M K

여기서 NN (1≤N≤1001 \le N \le 100)은 첫 번째 줄의 코 수, MM (1≤M≤10001 \le M \le 1000)은 작품의 전체 줄 수, KK (1≤K≤1001 \le K \le 100)는 반복 패턴에 포함된 줄 수이다.

두 번째 줄에는 정확히 KK개의 정수가 주어지며, 각 값은 −100-100 이상 100100 이하이다. 이 값들이 반복 패턴을 나타내며, 음수는 코 수를 줄이고, 양수는 늘리며, 00은 변화가 없음을 뜻한다. 어떤 작품에서도 패턴 때문에 한 줄의 코 수가 00 이하가 되는 일은 없다.

입력의 끝은 세 개의 00으로 이루어진 줄(0 0 0)로 나타내며, 이 줄은 어떤 작품에도 속하지 않는다.

출력

각 작품에 대해, 완성된 작품의 전체 코 수를 주어진 순서대로 한 줄에 하나씩 출력한다. 답 사이에 빈 줄을 넣지 않는다.

예제4

  1. 예제 1

    입력
    3 3 1
    2
    50 6 4
    6 -2 -2 0
    0 0 0
    
    예상 출력
    15
    322
    
  2. 예제 2

    입력
    10 1 1
    5
    0 0 0
    
    예상 출력
    10
    
  3. 예제 3

    입력
    7 4 2
    0 0
    0 0 0
    
    예상 출력
    28
    
  4. 예제 4

    입력
    3 3 1
    2
    5 2 3
    1 -1 2
    0 0 0
    
    예상 출력
    15
    11