RiseOJ는 solved.ac와 제휴 관계가 없습니다. 티어 아이콘 © solved.ac. solved.ac
포럼
COCI00099

Jagoda

Silver I 실버 I
난이도
3s
시간 제한
32MB
메모리 제한
1
맞았습니다!!
1
제출 수
100.0%
정답률
레이팅

의견: 0

설명

Slavko has \(N\) rabbits that he feeds every day with various fruits and vegetables. Rabbits, however, prefer strawberries above all else. Strawberries are hard to find and expensive in the middle of winter, so Slavko only gives strawberries to part of his rabbits.

Slavko numbered the rabbits \(1\) through \(N\). To help keep track of how many strawberries each of the rabbits got, Slavko decided on the following strawberry allocation procedure.

Every day Slavko purchases some number \(S\) of strawberries and chooses some rabbit \(A\) to get the first strawberry. Rabbit \(A+1\) will get the second strawberry, rabbit \(A+2\) the third etc.

Every rabbit is assigned an initially empty matchbox, the \(N\) matchboxes forming a single row. Let \(K\) be the largest integer such that \(K \cdot K \le N\). Every group of \(K\) matchboxes (starting with the first) will also have a cup next to them. We say that \(K\) consecutive matchboxes with their cup form a block.

After giving the rabbits their strawberries, Slavko will put a single match into the matchbox of every rabbit that got a strawberry, unless he would be putting a match into all matchboxes in a block. Instead of putting matches into all matchboxes in a block, he will put a single match in the appropriate cup.

The total number of strawberries received by a rabbit can be calculated as the number of matches in its matchbox plus the number of matches in its cup.

For example, assume that there are \(11\) rabbits, that is \(N=11\). The number three is the largest integer which, when squared, gives a result of at most \(11\), so \(K=3\). There will be four blocks, the last of them incomplete with only two matchboxes.

Write a program that simulates the above procedure, knowing the number of rabbits \(N\), the number of days \(M\) and the numbers \(S\) and \(A\) for each of the \(M\) days.

For every day, output the total number of matches in all matchboxes and cups that Slavko added matches to on that day.

제약
입력 형식

The first line contains the integers \(N\) and \(M\) separated by a space (\(1 \le N, M \le 100000\)), the number of rabbits and days.

Each of the following \(M\) lines contains two integers \(S\) and \(A\) separated by a space. These numbers mean that Slavko purchased \(S\) strawberries that day and that rabbit \(A\) will receive the first one (\(1 \le A \le N\), \(1 \le A + S - 1 \le N\)).

출력 형식

Output \(M\) numbers, each on a separate line. The \(k\)-th line should contain the total number of matches in all matchboxes and cups that Slavko used on day \(k\).

서브태스크
서브태스크점수설명

Subtask 1

70점
예제 1
입력
11 3
6 5
3 1
11 1
출력
4
1
6
예제 2
입력
16 3
2 2
12 3
6 11
출력
2
7
3
문제 정보

riseoj 작성

출처 COCI 2008/2009 Contest 5

평가 및 의견

Jagoda

개요
출제자 난이도 Silver I 실버 I 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

Jagoda

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8