#1414
Gold IV

당구

서브테스크
원문: 日本語
시간 제한
1s
메모리 제한
1024MB
제출
0
정답
0
맞힌 사람
0
정답 비율
0.0%

문제

비타로는 당구를 치며 놀고 있다. JOI 국의 당구는 당구대 위에 놓인 NN 개의 공 1,2,...,N1,2,...,N 을 사용하는 놀이이며, 당구대에는 공을 떨어뜨리기 위한 구멍이 있다. 한 번 구멍에 떨어진 공은 당구대 위로 되돌리지 않으며, 그 공을 다시 떨어뜨릴 수는 없다. 비타로의 목적은 가능한 한 큰 번호가 적힌 공을 구멍에 떨어뜨리는 것이다.

공을 떨어뜨리는 것은 집중을 필요로 하는 작업이다. 처음에 비타로의 집중력XX 이며, 공 ii (1iN1 \le i \le N) 를 떨어뜨리면 집중력이 AiA_{i} 만큼 감소한다. 집중력이 AiA_{i} 미만일 때는 공 ii 를 떨어뜨릴 수 없다.

또한, 이 당구에는 공을 떨어뜨리는 순서에 관한 규칙이 존재한다. 구체적으로는, Pi=1P_{i} = -1 (1iN1 \le i \le N) 일 때 공 ii 는 언제든지 떨어뜨릴 수 있고, Pi1P_{i} \neq -1 일 때 공 ii 를 떨어뜨리기 위해서는 공 PiP_{i} 가 이미 떨어져 있어야 한다.

비타로가 가진 집중력과 각 공의 정보가 주어졌을 때, 비타로가 공을 구멍에 떨어뜨릴 수 있는지 판정하고, 공을 떨어뜨릴 수 있는 경우에는 떨어뜨릴 수 있는 공의 번호의 최댓값을 구하는 프로그램을 작성하시오.

제한

  • 1N2000001 \le N \le 200\,000.
  • 1X10151 \le X \le 10^{15}.
  • 1Ai1091 \le A_{i} \le 10^{9} (1iN1 \le i \le N).
  • 1PiN1 \le P_{i} \le N 또는 Pi=1P_{i} = -1 (1iN1 \le i \le N).
  • PiiP_{i} \neq i (1iN1 \le i \le N).
  • 입력되는 값은 모두 정수이다.

서브태스크

  1. (66 점) N1000N \le 1000, Pi=1P_{i} = -1 (1iN1 \le i \le N).
  2. (99 점) N1000N \le 1000, P1=1P_{1} = -1, Pi=i1P_{i} = i-1 (2iN2 \le i \le N).
  3. (1616 점) N1000N \le 1000, Pi<iP_{i} < i (1iN1 \le i \le N).
  4. (2020 점) Pi<iP_{i} < i (1iN1 \le i \le N).
  5. (1919 점) N1000N \le 1000.
  6. (3030 점) 추가 제약이 없다.

입력

입력은 다음 형식으로 주어진다.
NN XX
A1A_{1} A2A_{2} \dots ANA_{N}
P1P_{1} P2P_{2} \dots PNP_{N}

출력

비타로가 구멍에 떨어뜨릴 수 있는 공의 번호의 최댓값을 11 줄에 출력한다.
단, 비타로가 공을 11 개도 떨어뜨릴 수 없는 경우에는 대신 -1 을 출력한다.

예제 입력 1

6 7
1 2 4 3 10 100
-1 -1 -1 -1 -1 -1

예제 출력 1

4

처음에 비타로의 집중력은 77 이다.
모든 ii (1iN1 \le i \le N) 에 대해 Pi=1P_{i} = -1 이므로, 비타로는 집중력이 충분한 한 모든 공을 언제든지 구멍에 떨어뜨릴 수 있다.

예를 들어 다음과 같이 하면 비타로는 공 44 를 떨어뜨릴 수 있다.

  • 먼저 공 33 을 구멍에 떨어뜨린다. 비타로의 집중력이 44 만큼 감소하여 남은 집중력은 33 이 된다.
  • 다음으로 공 44 를 구멍에 떨어뜨린다. 비타로의 집중력이 33 만큼 감소하여 남은 집중력은 00 이 된다.

또한, 비타로가 공 5,65,6 을 구멍에 떨어뜨릴 수는 없다. 따라서 비타로가 구멍에 떨어뜨릴 수 있는 공의 번호의 최댓값은 44 이다.

이 예제는 서브태스크 1,3,4,5,61,3,4,5,6 의 제약을 만족한다.

예제 입력 2

5 12
1 2 3 5 8
-1 1 2 3 4

예제 출력 2

4

처음에 비타로의 집중력은 1212 이다.
예를 들어 다음과 같이 하면 비타로는 공 44 를 떨어뜨릴 수 있다.

  • 먼저 공 11 을 구멍에 떨어뜨린다. ( P1=1P_{1} = -1 이므로 공 11 은 언제든지 떨어뜨릴 수 있다.) 비타로의 집중력이 11 만큼 감소하여 남은 집중력은 1111 이 된다.
  • 다음으로 공 22 를 구멍에 떨어뜨린다. ( P2=1P_{2} = 1 이고 공 11 은 이미 떨어져 있으므로 공 22 를 떨어뜨릴 수 있다.) 비타로의 집중력이 22 만큼 감소하여 남은 집중력은 99 가 된다.
  • 다음으로 공 33 을 구멍에 떨어뜨린다. ( P3=2P_{3} = 2 이고 공 22 는 이미 떨어져 있으므로 공 33 을 떨어뜨릴 수 있다.) 비타로의 집중력이 33 만큼 감소하여 남은 집중력은 66 이 된다.
  • 다음으로 공 44 를 구멍에 떨어뜨린다. ( P4=3P_{4} = 3 이고 공 33 은 이미 떨어져 있으므로 공 44 를 떨어뜨릴 수 있다.) 비타로의 집중력이 55 만큼 감소하여 남은 집중력은 11 이 된다.

또한, 비타로가 공 55 를 구멍에 떨어뜨릴 수는 없다. 따라서 비타로가 구멍에 떨어뜨릴 수 있는 공의 번호의 최댓값은 44 이다.

이 예제는 서브태스크 2,3,4,5,62,3,4,5,6 의 제약을 만족한다.

예제 입력 3

8 10
3 1 4 1 5 9 2 6
-1 1 2 -1 4 4 5 7

예제 출력 3

7

이 예제는 서브태스크 3,4,5,63,4,5,6 의 제약을 만족한다.

예제 입력 4

2 1000000000000000
1 1
2 1

예제 출력 4

-1

P1=2P_{1} = 2 이므로 공 11 을 떨어뜨리기 위해서는 공 22 가 이미 떨어져 있어야 한다. 반대로 P2=1P_{2} = 1 이므로 공 22 를 떨어뜨리기 위해서는 공 11 이 이미 떨어져 있어야 한다. 이로부터 비타로는 공을 11 개도 떨어뜨릴 수 없다. 따라서 -1 을 출력한다.

이 예제는 서브태스크 5,65,6 의 제약을 만족한다.

예제 입력 5

9 2468024680
123456789 234567891 345678912 456789123 567891234 678912345 789123456 891234567 912345678
6 5 4 -1 3 2 1 9 8

예제 출력 5

6

이 예제는 서브태스크 5,65,6 의 제약을 만족한다.

코드 제출

코드를 제출하려면 로그인이 필요합니다.

로그인
내 제출

제출 내역이 없습니다.

맞은 사람

아직 맞은 사람이 없습니다.

난이도 투표
Gold IV1명 투표· 약 22시간 전
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출

제출 내역이 없습니다.