Таңғалмастыру


Шешімді жөнелту

Ұпайлар: 1
Уақыт шектеуі: 1.5s
Жад шектеуі: 256M

Author:
Problem type
Рұқсат етілген тілдер
Assembly, Awk, Brain****, C, C++, Java, Pascal, Perl, Python, Sed, Text

Егер n ұзындығындағы кез келген алмастыру a массивінің іштізбегі болса, онда a массивын n таңғалмастыруы деп атаймыз.

Сізге массив a және n саны берілген. Массив a n-таңғалмастыру болып табыла ма, соны анықтау қажет.

Алмастыру — бұл 1-ден n-ге дейінгі бүтін сандардың n ұзындығындағы тізбегі, мұнда барлық сандар бір рет кездеседі. Мысалы, [1], [4,3,5,1,2], [3,2,1] — алмастырулар, ал [1,1], [4,3,1], [2,3,4] — жоқ.

Алмастыру p массив a-ның іштізбегі болып табылады, егер p a массивінің бірнеше (мүмкін, нөл немесе барлығы) элементтерін жою арқылы алынатын болса.

Енгізу

Бірінші жолда екі бүтін сан m және n (1m,n400) — берілген массивтің ұзындығы және сан.

Екінші жолда m бүтін сан a1,a2,,am (1ain) берілген.

Шығару

Егер массив a n-таңғалмастыруы болса, «YES» деп шығарыңыз. Әйтпесе, бірінші жолда «NO» (тырнақшасыз) деп шығарыңыз, екінші жолда массив a-ның іштізбегі болмайтын n ұзындығындағы алмастыруды шығарыңыз.

«YES» және «NO» сөздерін кез келген регистрде (мысалы, «yES», «yes» және «Yes» жауап ретінде қабылданады) шығара аласыз.

Мысалдар

Енгізу 1
Көшіру
3 2
1 2 1
Жауап 1
Көшіру
YES
Енгізу 2
Көшіру
9 4
1 4 2 3 1 3 2 4 2
Жауап 2
Көшіру
no
2 3 4 1

Пікірлер

Қазіргі уақытта ешқандай пікір жоқ.