Сұрыптау алхимиясы
Амалбек қиын тапсырмаға тап болды. Оған \(n\) өлшемді \(a\) массиві және \(m\) өлшемді \(b\) жиыны берілген. Кіріс деректеріндегі барлық сандар әртүрлі.
Амалбек екі кезеңнен тұратын ерекше операцияны қолдана отырып \(a\) элементтерін өсу тәртібімен сұрыптауды жоспарлап отыр. Операция:
Алдымен ол \(a\)-дан оның минималды немесе максималды элементін алып тастайды.
Содан кейін ол \(b\) жиынынан кез келген санды таңдап, оны жиыннан алып тастайды және \(a\) массивының кез келген ыңғайлы орынына енгізеді.
Әр операциядан кейін \(a\) массивының өлшемі \(n\) болып қалатынын ескеріңіз.
Сіздің міндетіңіз — Амалбекке массив \(a\)-ны сұрыптау үшін қажетті минималды операциялар санын табуға көмектесу немесе бұл мүмкін еместігін анықтау.
Енгізу
Бірінші жолда екі бүтін сан \(n\) және \(m\) \((1 \leq n,m \leq 10^5)\) — массив \(a\) және жиын \(b\) өлшемдері.
Екінші жолда \(n\) бүтін сан \(a_1,a_2,\ldots a_n\) (\(1 \leq a_i \leq 10^9\)) — массив \(a\) элементтері.
Үшінші жолда \(m\) бүтін сан \(b_1,b_2,\ldots b_m\) (\(1 \leq b_i \leq 10^9\)) — жиын \(b\) элементтері.
\(a\) және \(b\)-да кездесетін барлық сандардың әртүрлі екендігіне кепілдік беріледі.
Шығару
Бір бүтін санды шығарыңыз — массив \(a\)-ны өсу тәртібімен сұрыптау үшін қажетті минималды операциялар саны. Егер сұрыптау мүмкін болмаса, -1 шығарыңыз.
Бағалау жүйесі
Ішкі есеп | Қосымша шектеулер | Ұпайлар |
---|---|---|
\(0\) | Шарттардан мысалдар | \(0\) |
\(1\) | \(n \leq 10, m = 1\) | \(15\) |
\(2\) | \(n, m \leq 100\) және \(a\) массивынан тек минималды элементті жойып, оптималды жауапқа жету мүмкіндігі қамтамасыз етілген | \(16\) |
\(3\) | \(n, m \leq 100\) | \(20\) |
\(4\) | \(n, m \leq 2000\) | \(16\) |
\(5\) | — | \(33\) |
Мысалдар
Енгізу 1
3 2
2 5 4
1 3
Жауап 1
1
Енгізу 2
6 4
2 8 6 3 20 1
7 5 4 12
Жауап 2
4
Енгізу 3
5 3
4 2 9 8 5
6 1 10
Жауап 3
3
Пікірлер