두더지 찾기

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

요약
1부터 L 사이의 시각 T 중에서, T가 A_i의 배수일 때만 i번째 구멍에 두더지가 나타나는 규칙이 주어진 0/1 배열 B와 일치하는 가장 작은 T를 구한다.
난이도

보통10점 중 7점

유형
정수론, 수학, 이분 탐색
정답자
아직 제출이 없습니다

문제

근수 앞에 NN개의 두더지 구멍이 순서대로 놓여 있다. 현재 시각 TT가 A_iA\_i의 배수라면 ii번째 구멍에 두더지가 나타나고 그렇지 않다면 ii번째 구멍에는 두더지가 나타나지 않는다. 또한 근수는 두더지들의 상태가 배열 BB를 만족하기를 바란다. B_i=1B\_i = 1이면 ii번째 구멍에 두더지가 있어야 하고 B_i=0B\_i = 0이면 ii번째 구멍에는 두더지가 없어야 한다. (이 문제에서의 시각은 정수 시각만 고려한다.)

근수는 시각 11부터 LL까지 두더지들을 관찰하였을 때 배열 BB를 만족하는 시각이 있는지 알고 싶다. 근수가 두더지들을 관찰하는 동안 배열 BB를 만족하는 시각이 있는지 구하고, 있다면 이를 만족하는 가장 작은 정수 시각 TT를 구해보자.

입력

첫 번째 줄에 정수 NN과 LL이 주어진다. (1≤N≤105,1≤L≤1012)(1 \leq N \leq 10^5, 1 \leq L \leq 10^{12})

두 번째 줄에 정수 A_1,A_2,…,A_NA\_1, A\_2, \dots, A\_N이 주어진다. (1≤A_i≤105)(1 \leq A\_i \leq 10^5)

세 번째 줄에 정수 B_1,B_2,…,B_NB\_1, B\_2, \dots, B\_N이 주어진다. (B_i∈0,1)(B\_i \in \\{0, 1\\})

출력

배열 BB를 만족하는 가장 작은 정수 시각 TT를 출력한다. 만약 그러한 TT가 없다면 -1을 출력한다.

예제2

  1. 예제 1

    입력
    3 30
    2 3 5
    1 0 1
    
    예상 출력
    10
    
  2. 예제 2

    입력
    3 5
    2 3 5
    1 1 0
    
    예상 출력
    -1