← Back to topics
Topic

z-paradajz

A
Amtrix
Pozdrav,
Moze li mi neko reci gdje ja grijesim u ovom zadatku. Rade mi zadnja 11 testna primjera, a u prva devet dobijem 'wrong result'.

http://www.z-trening.com/new/www/html/submit.php?submit=7100006581&subm_code=1

Ideja je gledati dane unapried kakvo je stanje cijena paradajza....
m
msantl
meni je obratno ,samo mi nije WA nego time limit
A
Amtrix
Meni je smijesno sto mi zadnja 11 primjera rade. Koliko ja znam skoro su uvijek zadnji primjeri tezi od pocetnih....
D
Daniel93
Pa jednostvano daj ti njemu svoj kod a on tebi svoj , pa ce raditi svi primjer. :D
A
Amtrix
Moze li mi neko 1. testni primjer dati da sam zakljucim zasto mi program neradi ???
m
msantl
mozes malo pojasniti sto si radil?
A
Amtrix
Evo uzmimo ovaj testni primjer:
N:8 ROK:3
day1: 1
day2: 2
day3: 3
day4: 2
day5: 4
day6: 1
day7: 3
day8: 2

Sad prvo pocnem od prvog dana. I gledam zatim od prvog do prvog+ROK dana postoji li cijena paradajza manja od cijene prvog dana. Ako postoji kupim toliko paradajza u prvom danu tako da stignem do tog dana gdje postoji manja cijena. U slucaju da nema manje cijene u tom intervalu gledam u kojem danu je najmanja cijena, negledajuci cijenu prvog dana. U slucaju da dva dana imaju najmanju cijenu biram onu koja je dalje udaljena. Zatim kad nadjem trazeni dan, radim sve to ispocetka samo sto sad gledam sa tog dana a ne vise sa prvog. I kad stignem do zadnjeg dana prekinem.
Nadam se da si shvatio :D.

De ti sad meni objasni svoj algoritham. :D
m
msantl
imam sortirani niz parova (dan, cijena) od najjeftnjig do najskupljeg, i za svaki dan gledam da li imam neki jeftinji izbor (u tom nizu) , ako nemam rj+=taj dan , inace rj+=dan_kad je jeftinje a da se ne pokvari
m
msantl
sad sam napisao ovako: na pocetku sam na prvom danu, gledam ako imam od SADA+ROK neku manju cijenu, ako imam , kupim DAN1 - SADA paradajza taj dan i odlazim na DAN1, a na rezultat dodajem (DAN1-sada) * kosta[sada], ako nema manje cijne kupim ROK paradajza i odlazim na sada+ROK ,i tako dok god mi je sada < dana-1, na svim test primjerima WA, ako tko ima ideju zasto to ne bi radilo, slobodno kaže .


Kod:
http://www.z-trening.com/new/www/html/submit.php?submit=7100006639&subm_code=1
A
Amtrix
Nevalja ti to sto ides na sada+ROK ako nemas manje cijene(P.S manja cijena moze biti i jednaka cijena[sada] ) . Trebas da odes na sada+DAN_MIN

DAN_MIN = u intervalu od sada do sada+ROK najmanja cijena veca od cijena[sada].
P.S Ako naidjes drugi put na minimalnu cijenu, onda uzimas nju....
A
Amtrix
P.S DAN_MIN je redni broj dana, ne cijena.
A
Amtrix
msantl: "Sta si uradio da rade i ostala 9 primjera ??"
m
msantl
napravio sam dvije funkcije, u kojima je jedan algoritam, i ako je broj dana manji od 10000 zovem onu koja radi za prva 9 a inace zovem ovu drugu :D

Sad ću probat na neki drugi nacin , da radi za sve samo jedan algoritam
A
Amtrix
Ali vidis meni je to cudno sto ovaj moj algoritham radi za days>10000, a neradi za days<10000.
m
msantl
Probaj ovako:

Za svaku cijenu pamtis dan. I udmah pri unosu ti provjeris za svaku nizu cijenu (jer ih imas od 1 do 1000, pa kad nađeš prvu našao si najmanju) da li ti je dan kada je ta cijena data jos u intervalu sa rokom trajanja. Rjesenju dodas tu cijenu
A
Amtrix
Mozes malo bolje objasiti
m
msantl
Za svaku cijenu pamtis koji dan je bila. Za X-ti dan provjeravas sve dosad zapisane cijene ( od manje prema većoj) i prvu manju cijenu kojoj je dan kada je izdana + ROK < X uzimas kao cijenu za taj dan, a ako ne postoji takav dan s nižom cijenom, onda je cijena ona unjeta.
A
Amtrix
Hvala, uspjelo je.