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

27735번 - 송유관 II

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

문제

새로 설립된 산업 단지에 발전소가 계속해서 들어서고 있다. 산업단지에는 $N$개의 주유소가 1ドル$번부터 $N$번까지 일렬로 나열 되어있고 주유소를 통해 발전소에 기름을 공급 받고자 한다.

이때 다음과 같은 이벤트가 주어진다.

  • 1ドル$ $L$ $R$ $T$: 새로운 발전소가 산업 단지에 들어왔고 $T$ 이상의 기름을 공급 받아야 발전소가 가동되며, $L$번 주유소부터 $R$번 주유소까지 $R-L+1$개의 주유소에 송유관을 일렬로 설치한다. 이 발전소 전에 산업단지에 들어온 발전소의 개수가 $P$개라면 이 발전소의 번호는 $P+1$이다.
  • 2ドル$ $I$ $C$: $I$번 주유소에 송유관이 설치된 모든 발전소에 각각 $C$만큼의 기름을 공급한다. 이 이벤트 직후에 가동된 발전소가 있다면 가동된 발전소의 개수와 발전소의 번호들을 출력해야 한다. 이 이벤트 전에 가동된 발전소는 출력에 포함되지 않음에 유의하자.

단, 1ドル$번 이벤트는 최대 5ドル ,000円$번 이하로 발생한다. 이벤트가 주어질 때 2ドル$번 이벤트에 대해 올바른 답을 출력하자.

입력

입력에 첫 번째 줄에 주유소의 수와 이벤트의 개수를 나타내는 $N$가 $Q$가 차례대로 정수로 주어진다.$(1 \le N \le 100 ,000円;$ 1ドル \le Q \le 500 ,000円)$

다음 각 Q줄에는 이벤트에 대한 정보가 주어진다. 두 번째 유형의 마지막 이벤트에 조건을 만족한 발전소의 개수가 $last$라고 할 때. 1ドル$번 이벤트는 1ドル$ $x$ $y$ $T$ 형태로 주어지며 $L = x \oplus last$ $R = y \oplus last$로 정의된다. 2ドル$번 이벤트는 2ドル$ $z$ $C$의 형태로 주어지며 $I = z \oplus last$로 정의된다. $(1 \leq L \leq R \leq N,ドル1ドル \leq I \leq N,ドル 1ドル \leq T \leq 500,000,ドル 1ドル \leq C \leq 500,000)$

Q줄의 입력에서 생성된 $L,ドル$R,ドル$I$값이 범위에 어긋나지 않음이 보장되며 두번째 유형의 첫번째 이벤트가 처리되기 이전에 $last$의 값은 0이다.

출력

두 번째 유형의 각 이벤트에 대해 정답을 한 줄씩 출력하자.

각 줄에 처음에 가동된 발전소의 개수를 정수로 출력하고 가동된 발전소의 번호를 오름차순으로 출력하자.

제한

예제 입력 1

13 7
1 1 3 5
2 2 3
1 1 12 6
2 11 5
2 1 4
1 3 6 5
2 3 5

예제 출력 1

0
0
2 1 2
1 3

힌트

출처

University > 경인지역 6개대학 연합 > shake! 2022 L번

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

출처

대학교 대회

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

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