.campion
conectare | înregistrare | căutare
Pagina principală » Probleme » obstacole

ultima problemă
grupă: mică
sursă: OMI 2016
ultimul articol
autor: Prof. Radu Vişinescu
ultimul software
autor: Prof. Emanuela Cerchez
obstacole


Timp maxim de execuţie / test:
0.2s
Memorie totala disponibilă / stivă:
4MB / 1MB

Cu toţii cunoaştem proba “3000 de metri obstacole” de la concursurile de atletism. Sportivii pe lângă faptul că trebuie să alerge trebuie să şi sară obstacolele ce le întâlnesc. Vom codifica pista pe care se desfăşoară întrecerea prin 0 şi 1 astfel: 0 este zonă pe care sportivul poate călca, iar 1 zonă pe care trebuie obligatoriu să o sară. Astfel, pista este dată printr-o succesiune de astfel de zone, toate de aceeaşi lungime, 1cm. Sportivul ia startul imediat înaintea primei zone, iar sosirea este imediat după ultima zonă.
Pentru a parcurge pista, sportivul poate efectua o succesiune de paşi şi salturi.
La un pas el pune pe pământ un pantof, neapărat pe o zonă continuă de lungimea pantofului, formată numai din 0; pantoful poate fi plasat după pantoful de la pasul precedent, zonele ocupate de cei doi pantofi fiind parţial suprapuse sau lipite (una în continuarea celeilalte).
La un salt el pune pe pământ un pantof, neapărat pe o zonă continuă de lungimea pantofului, formată numai din 0; distanţa dintre vârful pantofului de la mişcarea precedentă şi baza pantofului de la saltul curent fiind cel mult D cm.
Se mai ştie că el poate încălţa un pantof de alergare de o dimensiune pe care şi-o poate alege (poate fi chiar şi de 1 cm!). Sportivul ştie că şansele sale de câştig sunt direct proporţionale cu lungimea pantofului pe care-l încalţă.

Cerinţă

Ajutaţi sportivul să aleagă un pantof de dimensiune cât mai mare care să-i permită terminarea cursei.

Date de intrare

Fişierul obstacole.in conţine pe prima linie numerele N şi D separate printr-un spaţiu reprezentând lungimea pistei (în cm), respectiv numărul maxim de zone pe care sportivul le poate sări. Pe linia a doua sunt N valori din mulţimea {0,1}, separate prin câte un spaţiu, reprezentând codificarea pistei, în ordine, de la start la final.

Date de ieşire

Pe prima linie a fişierului obstacole.out se află un singur număr natural ce reprezintă dimensiunea maximă a unui pantof cu care sportivul parcurge pista de la start la final. Dacă sportivul nu poate parcurge pista, se va scrie valoarea 0.

Restricţii

1 ≤ D < N ≤ 200000
• Ambele dimensiuni sunt numere întregi specificate în centimetri.
• Sportivul trebuie să îşi pună doi pantofi de aceeaşi lungime, unul în piciorul stâng şi unul în piciorul drept :) , şi poate să îşi suprapună parţial doi paşi consecutivi dacă el consideră aşa mai potrivit.
• Se garantează că în toate testele prima şi ultima zonă de pe pistă sunt marcate cu 1.
• Sportivul poate sări şi zone marcate cu 0.

Exemple

obstacole.inobstacole.outExplicaţii
14 2 1 0 0 0 1 1 0 0 1 1 0 0 0 1 2 În exemplu, cu un pantof de lungime 2, sportivul poate sari prima dată la poziţia 2 (pantoful său va ocupa poziţiile 2 şi 3). La pasul următor se deplasează o poziţie (pantoful va ocupa poziţiile 3 şi 4, de fapt avea posibilitatea să sară direct de la primul pas aici). Mai departe, sare 2 poziţii şi pantoful va ocupa poziţiile 7 şi 8 (în exemplu, poziţiile sărite au fost ambele marcate cu valoarea 1, dar el poate alege să sară şi peste unele poziţii marcate cu valoarea 0 dacă respectă regulile. La pasul următor pantoful sportivului va ocupa poziţiile 11 şi 12, apoi 12 şi 13, şi apoi reuşeşte să ajungă la final sărind ultima zonă (ar fi putut sări afară şi în momentul în care era poziţionat pe zonele 11 şi 12).

autor: Prof. Marius Nicoli
propunător: Prof. Emanuela Cerchez
Colegiul Naţional ″Emil Racoviţă″
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
De la Finala .campion 2011: cos, monoton, avioane, echilibru1, dag, robotel, punctfix, broscute
De acelaşi autor: secvente1, raze, bile5, 235, dreptunghiuri, triunghi2, albine1, puteri35, miere, left, arbgraf, reuniune, cazare, atletism, fluviu, stele, zar1, poteci, avioane, liste, acoperire1, minusk, efect, b2k, progresii, reconst, mijloc, romb, alune, patru, galbeni, schi1, restaurare, sort2dist
Despre programare dinamică: vedete, fbr, tgv, zeratul, rv, comun, retea, circuit, sumdif, copaci, drum, text, palind, joc, vikingi, rafturi, balaur, plimbare, party, pc, pioni, seif, iepuri, numere3, perm, ture, bilete, prop, ro, reduceri, cuburi, invest, cutie2, stalpi, nr2, judete, strict, auto2, tree, jobs, leaves, pstring, program, datorii, senzori, farfurii, joc1, barbie, ambigram, rlcs, cub1, bio, chimie1, otilia, pasune, remi, sir23, tren1, joc5, pachete, echipe, comb, agitatie, ivv, peste, pitici, pipe, shgraf, tabara1, stop, randuri, zidar, log, sant, produs, subsir, cover, bcast, emax, dist, mesaj1, imax, avere, asmax, raft, suma2, joc12, fni, nr4, join, transport, masina3, lsort, microvirus, fat, cafea, echipe1, anticip, bsir, diamant, petrom, evantai, spion, acolor, evo, bombo, lacusta, lant, team, pitici1, numere8, dep, stiva, subgeom, pviz, tir1, cabane, piramida1, mosia, cuvinte1, gaina, materom, sortari, turnuri, trans, politie, codul, dansatori, nkbiti, kperms, treegame, siruri2, 123, jucarii, bradut, joc15, expozitie, text3, ic, echilibru, distsir, kmax, stalpi1, gaz, triunghi2, v2d, cuiburi, mine, orientare, activ, secvbiti, kcons, pokemon, ubergraf, left, acerc, autostrazi, kdist, select, cazare, fluviu, telecomanda, parcela, pion, subs, suma4, sirmax, bdotcom, viena, sablon2, telecab, ikebana, radare, hacker, robotel, centrala, verigi, cds, wg, minusk, radioactiv, enigma, jb, efect, maxviz, ripstick, progresii, maxtri, combcuv, blis, subsiruri, mijloc, probleme, unuzero, palindrom1, minerale, speed, zmax, spider, cntgcd, interclasare, bus, pariuri, riglef, fractii2, fall, arbsum, conuri, arbvalmax, procente, metrou
Despre secvenţe: degrade, hora, simetric, egal, ruleta, ecran, sirag, pasi, firma, br, numere2, termen, div, teatru, repeat, ratb, 2sec, sport, pikachu, suma3, panouri, sir5, mare, hof, resturi, efort, xor1, livada1, diff, popic, guess, albine1, permutare, miere, atelier, echilibru1, lcdr, 3max, ksecv, maxbin, meteo1, galbeni, maxp, secvp, split, secvente2, ausoara, sminus, munte3, cool, betisoare, unudoi, charlie, lasere, arc, dominant, restaurare, roua
Despre căutare binară: gropi, pod, uscat, checkin, copaci, aven, br, furtuna, livada, numar, matrice, sume, bacan, toys, chimie2, trafic, ants, multiplu, ghici, sirag1, tabara, puncte1, centru, harta1, salvare, spion, poze, dist1, patrate5, resturi, lanterna, sea2, vot, standard, cantor, medalii, binperm, mobil, stalpi1, expo, miere, conferinta, subs, pack, dag, acoperire, verigi, bradut2, triburi, intervale, mijloc, patru, eliminare, vectori1, calcule, secvp, dreapta, colina, ssk, robotics, cabana
surse trimise | ajutor