만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

꺾이지 않는 마음 1

시간 제한1.5초메모리 제한1024 MB

요약
드래곤 N마리의 초기 높이 H[i]와 하루에 자라는 높이 D[i]가 주어집니다. 하루에 화살 한 발을 쏠 수 있을 때, 1일부터 k일까지 얻을 수 있는 최대 조각 길이를 각 k마다 구합니다.
난이도

보통10점 중 6점

유형
그리디, 정렬, 힙
정답자
아직 제출이 없습니다

문제

"N = 10000은 괜찮다. 중요한 것은 꺾이지 않는 마음"

당신의 농장에는 NN마리의 용이 자라고 있다. 각 용에는 11부터 NN까지 서로 다른 번호가 붙어 있다. 오늘을 1일이라고 할 때, 1일의 ii번 용의 키는 H[i]H[i]이다. 하루가 바뀔 때마다 모든 용의 키가 D[i]D[i]만큼 자란다.

농장 밖에서 도둑이 날카로운 마법 화살로 용을 훔치려 하고 있다. 도둑은 매일 최대 하나의 마법 화살을 쏠 수 있으며, 쏜 화살은 도둑이 노린 용에 정확히 맞는다. 도둑이 마법 화살을 ii번 용에 맞히면, ii번 용의 키는 0이 되고 도둑은 잘린 길이(즉, 맞기 전 용의 키)만큼의 용 조각을 얻는다. 도둑은 화살을 쏘지 않을 수도 있고, 이미 화살을 맞힌 용에 나중에 다시 화살을 맞힐 수도 있다.

용들은 마법 화살에 잘리더라도 마음이 꺾이지 않는다. ii번 용의 키가 0이 되었더라도, 다음 날이 되면 키는 다시 D[i]D[i]만큼 자란다.

모든 1≤k≤N1 \le k \le N에 대해, 도둑이 1일부터 kk일까지 매일 최대 한 번 화살을 쏠 수 있다고 가정하자. 이때 도둑이 얻을 수 있는 용 조각 길이 합의 최댓값을 구하라.

입력

첫 번째 줄에 용의 수 NN이 주어진다. (1≤N≤10,0001 \le N \le 10{,}000)

이후 NN개의 줄에 걸쳐 각 용의 정보가 두 정수 D[i]D[i], H[i]H[i]로 주어진다. (0≤D[i]≤1060 \le D[i] \le 10^6, 0≤H[i]≤10120 \le H[i] \le 10^{12})

출력

NN개의 줄을 출력한다. ii번째 줄에는 k=ik = i일 때의 답을 정수 하나로 출력한다.

예제1

  1. 예제 1

    입력
    3
    7 15
    3 5
    1 5
    
    예상 출력
    15
    27
    42