Logo
(追記) (追記ここまで)

30195번 - 빙글빙글 물대포

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 (추가 시간 없음) 1024 MB225541.667%

문제

서울대학교 워터밤에 오신 여러분, 환영합니다!

이번 축제에서는 $N$명의 사람들이 함께 즐길 수 있는 재밌는 게임을 하나 계획하고 있습니다. ”빙글빙글 물대포” 게임은 원 모양의 행사장의 테두리 위에 동일한 간격으로 배치된 $N$개의 물대포를 사용해서 진행됩니다. 물대포에는 1ドル$번부터 $N$번까지의 번호가 붙어 있으며, 시계 방향으로 1ドル$번 물대포, 2ドル$번 물대포, $\cdots,ドル $N$번 물대포가 놓여 있습니다. 모든 물대포는 바닥에 고정되어 움직이지 않습니다.

각각의 물대포는 2ドルN$초에 한 바퀴씩 일정한 속도로 시계 방향으로 멈추지 않고 회전하며, 초기 시점에 각 물대포는 시계 방향으로 다음에 위치한 물대포를 향해 있습니다. 즉, 초기 시점에 1ドル$번 물대포는 2ドル$번 물대포를 향해 있고, 2ドル$번 물대포는 3ドル$번 물대포를 향해 있으며, $\cdots,ドル $N$번 물대포는 1ドル$번 물대포를 향해 있습니다.

또한, $i$번째 물대포는 초기 시점을 포함해, $T_i$초에 한 번씩 물대포가 향한 방향으로 물줄기를 발사합니다. 물줄기는 반직선 경로를 따라 멈추지 않고 한없이 뻗어나갑니다.

$i(1\le i\le N)$번 참가자는 $i$번 물대포 위치에서 게임을 진행합니다. 만약 물대포가 발사하는 물줄기가 지나는 위치에 사람이 서 있었다면, 발사된 즉시 그 물줄기를 맞게 됩니다. 단, 자신이 선택한 물대포에서 발사되는 물줄기는 맞지 않습니다. $i$번째 물대포에 위치한 사람에게는 초기 시점에 $A_i$ 만큼의 체력이 주어지고, 물줄기를 한 번 맞을 때마다 체력이 정확히 1ドル$씩 감소하여 체력이 0ドル$이 된 사람은 0ドル.5$초 후에 게임에서 탈락하게 됩니다. 게임에서 탈락한 사람의 대포는 그 사람이 탈락한 시점부터 더 이상 물줄기를 발사하지 않게 됩니다.

게임에서 끝까지 남게 되는 사람들에게는 어마어마한 상품이 준비되어 있다고 하니, 끝까지 남기 위해서 어떤 위치를 선점해야 하는 지가 중요하겠죠? 아무리 긴 시간동안 게임이 지속된다고 하더라도, 반드시 끝까지 남게 되는 위치들을 모두 구해주세요!

입력

첫 번째 줄에 물대포의 수 $N$이 주어집니다. (2ドル\le N\le 50$)

두 번째 줄에 $i$번째 물대포에 위치한 사람의 초기 체력 $A_i$가 띄어쓰기로 구분되어 주어집니다. (1ドル\le A_i\le 1,円 000,円 000,円 000,ドル 1ドル\le i\le N$)

세 번째 줄에 $i$번째 물대포의 발사 주기 $T_i$가 띄어쓰기로 구분되어 주어집니다. (1ドル\le T_i\le 1,円 000,ドル 1ドル\le i\le N$)

모든 입력은 정수입니다.

출력

첫 번째 줄에는, 반드시 끝까지 남게 되는 위치의 개수를 출력합니다.

두 번째 줄에는, 반드시 끝까지 남게 되는 위치에 해당하는 물대포의 번호를 띄어쓰기로 구분해 오름차순으로 모두 출력합니다.

제한

예제 입력 1

3
1 1 2
1 1 1

예제 출력 1

1
3

예제 입력 2

3
2 100000 1
1 2 3

예제 출력 2

1
1

예제 입력 3

3
1 1 1
1 1 1

예제 출력 3

0

예제 입력 4

4
1 10 1 10
2 4 2 4

예제 출력 4

2
2 4

힌트

출처

University > 서울대학교 > 서울대학교 프로그래밍 경시대회 > 2023 서울대학교 프로그래밍 경시대회 > Division 2 G번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /