Soluții trimise

Rezumat problemă

sortari

#2428

Balaurului Arhirel nu îi plac prea mult şirurile care nu sunt ordonate. Din acest motiv, nu poate să suporte permutările de N elemente, aşa că se decide să le sorteze şi pentru asta inventează o metodă proprie de sortare.
El ia iniţial un şir S care reprezintă o permutare de ordin N. Caută în şirul S cel mai mic (min) şi cel mai mare element (max). Să considerăm că min se află în şirul S pe poziţia pmin, iar max pe poziţia pmax. Să notăm cu x minimul dintre pmin şi pmax, iar cu y maximul dintre pmin şi pmax. Şirul S a fost astfel partiționat în alte trei şiruri, S1, S2, S3 care pot avea fiecare zero elemente, un element sau mai multe elemente. Şirul S1 începe la prima poziţie din şir şi se termină la poziţia x-1. Şirul S2 începe la poziţia x+1 şi se termină la poziţia y-1. Şirul S3 începe la poziţia y+1 şi se termină la ultima poziţie din şir.
Balaurul Arhirel mută valoarea min la capătul din stânga al lui S, iar valoarea max la capătul din dreapta al şirului S şi reia sortarea pentru fiecare din şirurile S1, S2, S3.
Evident, această metodă nu va funcţiona întotdeauna pentru sortarea unei permutări.
Spre exemplu, pentru şirul S = (3 4 1 6 5 2), se găseşte min = 1 şi max = 6, iar S1 = (3 4), S2 = (), S3 = (5 2). Se mută min şi max la capetele lui S: S = (1 3 4 5 2 6) şi se procedează la sortarea pe rând a şirurilor S1, S2, S3. S1 este sortat, S2 nu are elemente, iar S3 va deveni S3 = (2 5). În final, S = (1 3 4 2 5 6).
Ajutaţi-l pe Balaurul Arhirel să afle câte dintre permutările de N elemente pot fi sortate prin metoda sa.

ID   Utilizator Problema Data încărcării Stare
Nicusor Dan Nicusor Dan (Nicusor_Dan) sortari 17 Mai 2025, 06:29 Evaluare finalizată 100
Prisecaru Matei (Mateiul2578) sortari 23 Aprilie 2025, 13:59 Evaluare finalizată 10
Prisecaru Matei (Mateiul2578) sortari 23 Aprilie 2025, 13:59 Evaluare finalizată 10
Prisecaru Matei (Mateiul2578) sortari 23 Aprilie 2025, 13:58 Evaluare finalizată 10
Prisecaru Matei (Mateiul2578) sortari 23 Aprilie 2025, 13:57 Evaluare finalizată E.C
Prisecaru Matei (Mateiul2578) sortari 23 Aprilie 2025, 13:57 Evaluare finalizată E.C
Prisecaru Matei (Mateiul2578) sortari 23 Aprilie 2025, 13:55 Evaluare finalizată 0
Iulian Coroban (CIulian34) sortari 23 Aprilie 2025, 13:49 Evaluare finalizată 0
Budeanu Ioan (ioanxh_9) sortari 25 Martie 2025, 10:43 Evaluare finalizată 100
Aninis Catrinel (Nieeez) sortari 24 Martie 2025, 17:00 Evaluare finalizată 20
POPESCU ANDREI (andreip99) sortari 14 Septembrie 2024, 09:14 Evaluare finalizată 100
pitigoi emi (emanuel2020) sortari 25 August 2024, 15:26 Evaluare finalizată 100
pitigoi emi (emanuel2020) sortari 25 August 2024, 14:46 Evaluare finalizată 20
Costea Sasha (gosasha) sortari 11 Iunie 2024, 19:10 Evaluare finalizată 100
Lensu Alexandru (Lensu) sortari 16 Aprilie 2024, 13:36 Evaluare finalizată 100
Lensu Alexandru (Lensu) sortari 16 Aprilie 2024, 13:32 Evaluare finalizată 100
Lensu Alexandru (Lensu) sortari 16 Aprilie 2024, 13:32 Evaluare finalizată 20
Lensu Alexandru (Lensu) sortari 16 Aprilie 2024, 13:30 Evaluare finalizată 10
Negret Bianca (Bianca2507) sortari 15 Aprilie 2024, 20:01 Evaluare finalizată 100
Raileanu Alexandru (AlexandruR2008) sortari 03 Aprilie 2024, 13:27 Evaluare finalizată 100
Moldovan Laura (laura2019) sortari 20 Decembrie 2023, 20:06 Evaluare finalizată 100
Moldovan Laura (laura2019) sortari 20 Decembrie 2023, 19:54 Evaluare finalizată 10
Anca Leuciuc (AncaLeuciuc) sortari 10 Decembrie 2023, 23:02 Evaluare finalizată 100
Draguta Mihai (Draguta_Mihai) sortari 23 Noiembrie 2023, 19:36 Evaluare finalizată 100
Draguta Mihai (Draguta_Mihai) sortari 23 Noiembrie 2023, 19:17 Evaluare finalizată E.C
SS KMF (SSKMF) sortari 11 Septembrie 2023, 14:10 Evaluare finalizată 100
Dracea Andora (Andora_fan) sortari 07 August 2023, 15:57 Evaluare finalizată 100
Adrian Statescu (thinkphp) sortari 04 Iulie 2023, 07:37 Evaluare finalizată 100
Cotiga David (davidcotiga) sortari 23 Aprilie 2023, 15:41 Evaluare finalizată 100
Cotiga David (davidcotiga) sortari 23 Aprilie 2023, 15:38 Evaluare finalizată 0
Vasile Andrei Calin (Vasile_Andrei_Calin) sortari 06 Aprilie 2023, 16:29 Evaluare finalizată 100
Visan David (Flick1x) sortari 13 Martie 2023, 20:58 Evaluare finalizată 100
Visan David (Flick1x) sortari 13 Martie 2023, 20:48 Evaluare finalizată 10
Luchian Cristian (LuchianCristian) sortari 13 Martie 2023, 14:42 Evaluare finalizată 100
Luchian Cristian (LuchianCristian) sortari 13 Martie 2023, 14:41 Evaluare finalizată 90
Luchian Cristian (LuchianCristian) sortari 13 Martie 2023, 14:35 Evaluare finalizată 100
Luchian Cristian (LuchianCristian) sortari 13 Martie 2023, 14:19 Evaluare finalizată 20
Korina Karagea (chesta) sortari 23 Februarie 2023, 17:59 Evaluare finalizată 100
Mosor Alexandru (MosorAlexandru90) sortari 22 Februarie 2023, 12:29 Evaluare finalizată 100
Ciorne i (Joergen) sortari 20 Februarie 2023, 17:41 Evaluare finalizată 100
Popescu Dragos (CristianMacesan) sortari 20 Februarie 2023, 17:40 Evaluare finalizată 100
Popescu Dragos (CristianMacesan) sortari 20 Februarie 2023, 17:39 Evaluare finalizată 20
Serban Marinel (marinelserban) sortari 05 Februarie 2023, 09:27 Evaluare finalizată 100
Serban Marinel (marinelserban) sortari 05 Februarie 2023, 09:26 Evaluare finalizată 100
Bordea Mihai (BordeaMihai194) sortari 25 Ianuarie 2023, 21:17 Evaluare finalizată 100
Black Chris (Cristiansjsncndns) sortari 04 Ianuarie 2023, 14:28 Evaluare finalizată 100
Black Chris (Cristiansjsncndns) sortari 04 Ianuarie 2023, 14:26 Evaluare finalizată 20
Black Chris (Cristiansjsncndns) sortari 04 Ianuarie 2023, 14:26 Evaluare finalizată 20
Black Chris (Cristiansjsncndns) sortari 04 Ianuarie 2023, 14:20 Evaluare finalizată 10
Black Chris (Cristiansjsncndns) sortari 04 Ianuarie 2023, 14:20 Evaluare finalizată 0
Du-te sus!