Pagini recente » Profil UCV_GEORGESCU | Statistici Irimia Rares (zikade9) | Istoria paginii utilizator/raducostache | Joc pe graf | Diferente pentru problema/shopping intre reviziile 18 si 40
Diferente intre titluri:
Diferente intre continut:
== include(page="template/taskheader" task_id="shopping") ==
$Kokalaru47$ a intrat într-o nouă încurcătură! Prietenul său, $Marele Anonim$, şi-a cumpărat de curând o permutare $p$ de o frumuseţe nemaiauzită. Curios din fire, $Kokalaru47$ vrea să afle permutarea. $Marele Anonim$ i-a zis doar că are lungimea $N$ şi că *$1$ apare înaintea lui $2$* în permutarea $p$, şi a decis să nu dezvăluie în mod direct alte informaţii. În schimb, îi va răspunde la mai multe întrebări.
$K0kalaru47$ a intrat într-o nouă încurcătură! Prietenul său, $Marele Anonim$, şi-a cumpărat de curând o permutare $p$ de o frumuseţe nemaiauzită. Curios din fire, $K0kalaru47$ vrea să afle permutarea. $Marele Anonim$ i-a zis doar că are lungimea $N$ şi că *$1$ apare înaintea lui $2$* în permutarea $p$, şi a decis să nu dezvăluie în mod direct alte informaţii. În schimb, îi va răspunde la mai multe întrebări.
Într-o întrebare, $Kokalaru47$ îi dă $Marelui Anonim$ două stringuri $A$ şi $B$ de lungime $N$. $Marele Anonim$ creează apoi alte două stringuri $C$ şi $D$ astfel încât $A=C{~p{~1~}~}C{~p{~2~}~}C{~p{~3~}~}...C{~p{~N~}~}$ şi $B=D{~p{~1~}~}D{~p{~2~}~}D{~p{~3~}~}...D{~p{~N~}~}$. În final, $Marele Anonim$ răspunde la întrebare cu lungimea prefixului maximal comun dintre $C$ şi $D$ în care există *cel mult o nepotrivire*.
Într-o întrebare, $K0kalaru47$ îi dă $Marelui Anonim$ două stringuri $A$ şi $B$ de lungime $N$. $Marele Anonim$ creează apoi alte două stringuri $C$ şi $D$ astfel încât $A=C{~p{~1~}~}C{~p{~2~}~}C{~p{~3~}~}...C{~p{~N~}~}$ şi $B=D{~p{~1~}~}D{~p{~2~}~}D{~p{~3~}~}...D{~p{~N~}~}$. În final, $Marele Anonim$ răspunde la întrebare cu lungimea prefixului maximal comun dintre $C$ şi $D$ în care există *cel mult o nepotrivire*.
Înainte de a-i pune $Marelui Anonim$ o întrebare, $Kokalaru47$ trebuie să cumpere ingredientele pentru întrebarea respectivă. El merge, aşadar, la Magazinul de Stringuri şi achizitionează $2*N$ litere mici ale alfabetului englez ({$N$} pentru stringul $A$ şi $N$ pentru stringul $B$). Se ştie că litera care apare pe pozitia $c$ în alfabet costă $c-1$ parai. De asemenea, ingredientele folosite la o întrebare nu pot fi refolosite la o altă întrebare ulterioară.
Înainte de a-i pune $Marelui Anonim$ o întrebare, $K0kalaru47$ trebuie să cumpere ingredientele pentru întrebarea respectivă. El merge, aşadar, la String Shopping City şi achizitionează $2*N$ litere mici ale alfabetului englez ({$N$} pentru stringul $A$ şi $N$ pentru stringul $B$). Se ştie că litera care apare pe pozitia $c$ în alfabet costă $c-1$ parai. De asemenea, ingredientele folosite la o întrebare nu pot fi refolosite la o altă întrebare ulterioară.
h2. Cerinţă
Ajutaţi-l pe Kokalaru47 să afle permutarea misterioasă fară să-şi depăşească bugetul de $P$ parai.
Ajutaţi-l pe K0kalaru47 să afle permutarea misterioasă fară să-şi depăşească bugetul de $P$ parai.
h2. Interacţiune
* Dacă la o întrebare primiţi răspunsul $-1$, înseamnă că întrebarea nu a respectat formatul descris mai sus. În acest caz, trebuie să întrerupeţi interacţiunea imediat.
* *Infoarena oferă pentru limbajele C/C++ şi Rust câte un template care se ocupă direct de interacţiuni, pe care le puteţi găsi* "AICI":https://infoarena.ro/template_shopping.
* *Dacă se afişează permutarea greşită interactorul returnează $-1$ şi opreşte interacţiunea.*
h2. Restricţii şi punctare
table(example). |_. standard input (cin) |_. standard output (cout) |
|2
1
4
3
4
1
| ? zzzz zzab
|  
 
? zzzz zzab
? abcd efca
h3. Explicaţie
În primul test, permutarea căutată este $p = (3 1 4 2)$.
În primul test, permutarea căutată este $p = (3 1 4 2)$. Interacţiunea începe prin citirea valorii $N = 4$.
În prima întrebare, $A = zzzz$ şi $B = zzab$. Avem $C = zzzz$ şi $D = zbza$. Cel mai lung prefix comun dintre $C$ şi $D$ în care există cel mult o nepotrivire este cel de lungime $3$. Costul acestei întrebări este costul pentru a cumpăra literele $z$, $z$, $z$, $z$, $z$, $z$, $a$ şi $b$, deci este $25+25+25+25+25+25+0+1=151$.
În a treia întrebare, $A = cacf$ şi $B = cbdz$. Avem $C = afcc$ şi $D = bzcd$. Cel mai lung prefix comun dintre $C$ şi $D$ în care există cel mult o nepotrivire este cel de lungime $1$. Costul acestei întrebări este costul pentru a cumpăra literele $c$, $a$, $c$, $f$, $c$, $b$, $d$ şi $z$, deci este $2+0+2+5+2+1+3+25=40$.
Costul total pentru rezolvarea primului test este $151 + 17 + 40 = 208$.
Interacţiunea va continua prin citirea valorii $N = 4$ corespunzătoare următorului test.
== include(page="template/taskfooter" task_id="shopping") ==
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.