문제1674--딸기

1674: 딸기

[만든사람 : ]
시간제한 : 3.000 sec  메모리제한 : 128 MB  제출 : 0  맞은 사람 : 0

제출  

문제 설명

충근는 매일 다양한 과일과 야채를 먹는 N마리의 토끼를 키우고 있다. 그러나 토끼들은 딸기를 가장 좋아한다. 하지만 겨울에는 딸기를 구하기가 매우 어렵고, 가격도 비싸서 충근이는 일부 토끼에게만 딸기를 주려고 한다.
충근이는 토끼들에게 1부터 N까지 번호를 매겼다. 또 각 토끼들이 먹는 딸기를 기록하기 위해, 충근이는 다음과 같은 방법을 이용한다.
충근이는 매일 딸기 S개를 구매한 뒤, 첫 번째 딸기를 A번 토끼에게, 두 번째 딸기를 A+1번 토끼에게, 세 번째 딸기를 A+2번 토끼에게 ... 준다.
모든 토끼에는 처음에 비어 있는 성냥갑이 주어지고, N개의 성냥갑이 한 줄로 놓여져 있다.
K·K ≤ N을 만족하는 가장 큰 K를 고른다. 그 다음 첫 성냥갑부터 K개씩 그룹을 지어준다. 각 성냥갑의 앞에는 컵을 하나씩 놓는다. 이렇게 연속하는 K개 성냥갑과 컵을 블록이라고 한다.
토끼에게 딸기를 준 다음에, 충근이는 딸기를 받은 토끼의 성냥갑에 성냥을 넣는다. 이때, 어떤 블록에 모든 성냥갑에 성냥을 넣어야된다면, 성냥갑 대신에 컵에 성냥을 넣는다.
위의 방법을 사용하면, 각 토끼가 지금까지 먹은 딸기의 수는 성냥갑과 컵에 들어있는 성냥의 수가 된다.
예를 들어, 위와 같이 토끼가 11마리 있다고하자. 그럼 N = 11이 된다. 이때, K를 구하면 K = 3이 된다. 따라서, 총 네 개의 블록이 있을 것이고, 마지막 블록에는 성냥갑이 2개만 있을 것이다. 만약, 충근이가 딸기를 6개 사왔고, 5번 토끼부터 딸기를 준다면, 성냥갑과 컵에 들어있는 성냥은 아래와 같이 된다.
토끼의 수 N이 주어지고, M일동안 구매한 딸기의 수와 토끼에게 준 방법이 주어진다. 이때, 충근이가 그날 성냥을 넣은 성냥갑과 컵에 들어있는 성냥의 수를 구하는 프로그램을 작성하시오.

입력 설명

첫째 줄에 N과 M이 공백으로 구분되어 주어진다. (1 ≤ N, M ≤ 100000)
다음 M개 줄에는 각 날 충근이가 구매한 딸기의 수 S와 딸기를 주기 시작하는 토끼의 번호 A가 주어진다. (1 ≤ A ≤ N, 1 ≤ A+S–1 ≤ N)

출력 설명

출력은 총 M개의 숫자를 출력해야 한다. k번째 줄에는 k번째 날에 성냥을 넣은 성냥갑과 컵에 들어있는 성냥의 수를 출력해야 한다.

입력 예시1 Copy

출력 예시1 Copy

출처/분류