만드는 중입니다

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

지문이 트리로 가득 찬 트리 문제

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

요약
N개의 강의 시간 구간이 주어지고, 질의마다 필수 강의가 정해질 때 겹치지 않게 들을 수 있는 강의 수의 최댓값을 구합니다.
난이도

보통10점 중 6점

유형
구간, 그리디, 이분 탐색
정답자
아직 제출이 없습니다

문제

지호는 트리 문제를 내야 했지만, 이미 트리를 쓰는 트리 문제를 출제했다. 그래서 이번에는 지문이 트리로 가득 찬 트리 문제를 내기로 했다.

지문이 트리로 가득 찬 좋은 트리 문제를 내려면 다양한 트리 강의를 많이 들어 트리에 대한 트리스러운 지식을 익혀야 한다. 다행히 트리를 사랑하는 경기과학고에는 좋은 트리 강의가 NN개 있다. ii번째 트리 강의는 시각 aia_i부터 bib_i까지 진행되며, 이 강의를 들으면 트리 지식을 11만큼 얻는다. 두 트리 강의의 시간이 겹치지 않으면 두 강의를 모두 들어 트리를 더 공부하고 더 좋은 트리 문제를 만들 수 있다. 단, ai=bja_i = b_j 또는 bi=ajb_i = a_j이면 두 강의는 겹치는 것으로 본다.

NN개의 트리 강의 중 일부는 필수로 수강해야 하고, 나머지는 시간이 겹치지 않는 범위에서 자유롭게 신청해 들을 수 있다. 지호가 얻을 수 있는 트리 지식의 최댓값을 구하라.

지호는 아직 어떤 트리 강의가 필수인지 모른다. MM개의 쿼리마다 필수 강의 몇 개가 주어지면, 각 쿼리에 대해 지호가 얻을 수 있는 트리 지식의 최댓값을 구하라.

입력

첫 번째 줄에 NN과 MM이 공백으로 구분되어 주어진다.

두 번째 줄부터 NN개의 줄 중 ii번째 줄에는 ii번째 트리 강의의 시작 시각 aia_i와 종료 시각 bib_i가 공백으로 구분되어 주어진다.

그다음 MM개의 줄에 한 줄에 하나씩 쿼리가 주어진다. 각 쿼리에는 필수로 수강해야 하는 강의의 개수 ss와 강의 번호 p1,p2,⋯ ,psp_1, p_2, \cdots, p_s가 공백으로 구분되어 주어진다.

출력

첫 번째 줄부터 MM개의 줄에 걸쳐 ii번째 줄에 ii번째 쿼리에서 지호가 얻을 수 있는 트리 지식의 최댓값을 출력한다.

제한

  • 1≤N,M≤300 0001 \leq N, M \leq 300\,000
  • 1≤ai<bi≤1091 \leq a_i < b_i \leq 10^9 (1≤i≤N1 \leq i \leq N)
  • (모든 쿼리에서 ss의 합) ≤300 000\leq 300\,000
  • 각 쿼리에서 bpi<api+1b_{p_i} < a_{p_{i+1}} (1≤i<s1 \leq i < s)
  • 각 쿼리에서 s>0s>0

힌트

서로 다른 두 트리 강의가 정확히 같은 시각에 시작하고 끝날 수도 있다.

이 문제의 지문에는 단어 '트리'가 총 36번(제목까지 38번) 나온다.

예제1

  1. 예제 1

    입력
    10 5
    1 3
    2 4
    3 5
    4 6
    5 7
    5 7
    6 8
    6 9
    8 10
    4 11
    1 1
    1 6
    1 10
    2 1 10
    3 1 4 9
    
    예상 출력
    3
    3
    2
    2
    3