만드는 중입니다

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

로봇

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

요약
주어진 이동 거리를 반복하며 오른쪽으로 회전하는 로봇이 배터리가 방전되기 전 주어진 좌표 (x, y)에 있는 횟수를 구합니다.
난이도

보통10점 중 7점

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

문제

로봇은 좌표 평면의 원점 (0,0)(0, 0)에 있으며, 북쪽(y좌표가 증가하는 방향)을 향하고 있다. 명령의 수열 d1,d2,…,dnd_1, d_2, \ldots, d_n으로 로봇을 프로그래밍한다. 로봇을 켜면 순서대로 이동한다. ii번째 이동(i≥1i \ge 1)은 d((i−1) mod n)+1d_{((i-1) \bmod n)+1}만큼 앞으로 간 뒤 오른쪽으로 90도 회전하는 것이다.

배터리는 tt초 동안 작동한다. 단위 거리를 이동하는 데 1초가 걸리고, 90도 회전하는 데도 1초가 걸린다.

점 (x,y)(x, y)가 주어질 때, 배터리가 떨어지기 전까지 로봇이 그 점에 위치하는 횟수를 구하라.

입력

첫째 줄에 정수 nn과 tt가 주어진다 (1≤n≤1000001 \le n \le 100000, 1≤t≤10181 \le t \le 10^{18}). 각각 로봇 프로그램의 길이와 배터리 작동 시간(초)이다. 둘째 줄에는 명령 d1,…,dnd_1, \ldots, d_n이 순서대로 주어진다 (1≤di≤1091 \le d_i \le 10^9). 셋째 줄에는 질의할 점의 좌표 xx와 yy가 주어진다 (−109≤x,y≤109-10^9 \le x, y \le 10^9).

출력

로봇이 점 (x,y)(x, y)에 위치하는 시점의 개수를 한 정수로 출력한다. 시각 0이나 시각 tt에 그 점에 있는 경우도 포함한다.

힌트

예시 설명: 로봇은 켜진 뒤 6초와 22초에 점 (3,2)(3, 2)에 있다. 아래 그림은 로봇의 이동 경로이다.

예제1

  1. 예제 1

    입력
    4 28
    2 3 1 2
    3 2
    
    예상 출력
    2