Particija
시간 제한1초메모리 제한2048 MB
집합 {1,...,N}의 두 분할이 주어질 때, 두 분할의 블록만으로 {1,...,N}을 다시 분할하는 최소 블록 수를 구하고, 라벨 하나를 바꿔 이 값을 최소화하거나 최대화한다.
문제
Particija skupa (za neki zadani prirodni broj ) je bilo koja kolekcija nepraznih skupova takvih da se svaki broj od do pojavljuje u točno jednom od tih skupova. Na primjer, jednu particiju skupa čine skupovi , i . Jedan način na koji možemo zadati particiju je koristeći niz brojeva () tako da proglasimo da se i nalaze u istom skupu particije ako i samo ako vrijedi da je . Particiju iz prethodnog primjera mogli smo zadati nizom , ali također i nizom poput .
Patricija je djevojka koja u svom vlasništvu ima dvije particije skupa . Prva od tih particija zadana je nizom , a druga nizom . Patriciju zanima odgovor na sljedeće pitanje: koji je najmanji broj skupova koji tvore particiju skupa , ako na raspolaganju ima skupove navedenih dviju particija.
U ovisnosti o zadanom broju potrebno je napraviti sljedeće.
- Ako je , potrebno je pronaći odgovor na Patricijino pitanje.
- Ako je , dozvoljeno je promijeniti najviše jedan od danih brojeva koji određuju particije. Potrebno je pronaći najmanji mogući odgovor na Patricijino pitanje nakon najviše jedne promjene. Drugim riječima, potrebno je minimizirati najmanji broj skupova koji tvore particiju.
- Ako je , dozvoljeno je promijeniti najviše jedan od danih brojeva koji određuju particije. Potrebno je pronaći najveći mogući odgovor na Patricijino pitanje nakon najviše jedne promjene. Drugim riječima, potrebno je maksimizirati najmanji broj skupova koji tvore particiju.
Napomenimo da kada je ili , nova vrijednost promijenjenog broja mora biti između i .
Pomozite Patriciji te napravite program koji rješava ovakvih test primjera.
입력
U prvom su retku brojevi i , redom broj test primjera te parametar koji određuje vrstu zadatka.
Slijede opisi test primjera.
Svaki test primjer započinje prirodnim brojem , veličinom particije.
U sljedeća dva retka nalaze se nizovi te koji određuju particije.
출력
Za svaki od test primjera u zasebni redak ispišite odgovor na traženo pitanje.
힌트
Pojašnjenje prvog probnog primjera:
Za prvi test primjer: Prvi niz određuje particiju na skupove , i , a drugi na skupove , i . Koristeći te skupove možemo napraviti particiju na dva skupa i .
Za drugi test primjer: Prvi niz određuje particiju na skupove , , i , a drugi na skupove , , i . Bilo koja od tih particija ujedno je i optimalna.