← Back to topics
Topic

dizel

d
d3adly
prog mi pada samo na zadnjem test primjeru... mogu li kojim slučajem vidjeti taj test primjer... ?
a
adminModerator
Obrati se na mail: me@z-trening.com

Poz,
Z
l
losvald
Meni treba 8. i 9. test primjer.
t
todosijevic
Meni trebaju 2,4,5,6 test primeri
r
renovator
zao mi je, ali to je vec mnogo..
Prvo se potrudi malo da ispravis to, pa ako bas ne ide, javi opet.
Mislim, nije meni tesko da poshaljem, vec ne zelim da vas razmazim :)
u
unknownhero
Moze li mi netko molio bih reci sta tocno znaci: "Cisterna može ostati u gradu koji daje povoljniji ishod."

Cisterna nikad nece ostat u gradu A, jer ako se iz grada B bude vracala u grad A (a uzmimo u obzir da je u gradu A ostalo manje od 2*d goriva) potrosit ce gorivo za doc do grada A, a to je gorivo moglo ostat u gradu B.

Uglavnom da skratim pricu, trebao bih jedan test primjer (ne mora biti jedan od 10 postojecih) u kojemu bi cisterna trebala ostat u gradu A. I ako je moguce da ne bude neki komplicirani da uspijem napamet izracunat zasto cisterna treba ostat u gradu A.

Hvala!

EDIT: Evo moj kod:
#include <iostream>

using namespace std;

int main()
{
unsigned long long int v, d, c;
cin >> v >> d >> c;
d *= 2;
if (d == c)
{
cout << 0 << " " << v << endl;
system ("Pause");
return 0;
}
int x, rj;
x = v/c;
v -= x*c;
rj = (c-d)*x;
if (v == 0 || v <= d)
{
rj += d/2;
cout << rj << " " << v << endl;
system ("Pause");
return 0;
}
else
{
rj += v-d/2;
v = 0;
cout << rj << " " << v << endl;;
system ("Pause");
return 0;
}
return 0;
}
b
boba5551
Pa treba da ostane u gradu A ako ce dok ne dodje do grada B potrositi svo gorivo koje je ponela, inace kao sto si i napisao, nema potrebe da ide u grad A ako se nece vracati u B (razlog si takodje naveo).
Sta ti ne prolazi od test primera?
u
unknownhero
Uf, ne prolazi poprilican broj test primjera. :)

Tvoja ideja je da treba ostati u gradu A ako ce dok ne dodje do grada B potrositi svo gorivo?
Ali jos prije toga za doci do grada A ce takodjer potrositi gorivo za put. To gorivo je moglo ostati u gradu B.

Npr. Recimo da je udaljenost 5000. U gradu A je ostalo jos 5000. Kamion se trenutno nalazi u gradu B. Nema svrhe da kamion potrosi jos 5000 goriva samo da bi dosao do grada A u kojem ce onda ostati.


Test 1 Pogresno resenje vreme izvrsavanja programa 0.01 sekunde
Test 2 Pogresno resenje vreme izvrsavanja programa 0.01 sekunde
Test 3 Pogresno resenje vreme izvrsavanja programa 0 sekunde
Test 4 Pogresno resenje vreme izvrsavanja programa 0 sekunde
Test 5 Pogresno resenje vreme izvrsavanja programa 0.01 sekunde
Test 6 Pogresno resenje vreme izvrsavanja programa 0 sekunde
Test 7 Tacno resenje vreme izvrsavanja programa 0.01 sekunde
Test 8 Tacno resenje vreme izvrsavanja programa 0 sekunde
Test 9 Tacno resenje vreme izvrsavanja programa 0 sekunde
Test 10 Tacno resenje vreme izvrsavanja programa 0.01 sekunde


b
boba5551
Nisam na to mislio. mislio sam, da jedina situacija kada ostajes u A, jeste ako nemas > od potrebnog goriva da odes do B, a to je na pocetku, inace uvek ides za B. Evo ti mala pomoc.

Ako
if (d == c)
izmenis u
if (d >= c)

dobices veci prolaz. Probaj dalje da nadjes sam gde gresis...
u
unknownhero
Malo sam se popravio. ;D


Test 1 Tacno resenje vreme izvrsavanja programa 0.01 sekunde
Test 2 Tacno resenje vreme izvrsavanja programa 0 sekunde
Test 3 Tacno resenje vreme izvrsavanja programa 0.01 sekunde
Test 4 Tacno resenje vreme izvrsavanja programa 0.02 sekunde
Test 5 Tacno resenje vreme izvrsavanja programa 0.01 sekunde
Test 6 Tacno resenje vreme izvrsavanja programa 0.01 sekunde
Test 7 Tacno resenje vreme izvrsavanja programa 0.01 sekunde
Test 8 Tacno resenje vreme izvrsavanja programa 0.01 sekunde
Test 9 Tacno resenje vreme izvrsavanja programa 0.01 sekunde
Test 10 Pogresno resenje vreme izvrsavanja programa 0.01 sekunde


Kod je tri puta duzi hihihi. Zamolio bih ako bi mogao samo dobiti zadnji test primjer da vidim o cemu se tocno radi, koji sam slucaj zaboravio...

EDIT: Zasto je vremensko ogranicenje cak 5 sec? Mislim da bi se to trebalo smanjit.
b
boba5551
3250 100 1000

Na tvoj EDIT: Da si probao sa 5 sekundi, mozda bi ga resio bez necije pomoci...
u
unknownhero
Vremensko Ogranicenje : 5 sekundi

Test 1 Tacno resenje vreme izvrsavanja programa 0.01 sekunde
Test 2 Tacno resenje vreme izvrsavanja programa 0 sekunde
Test 3 Tacno resenje vreme izvrsavanja programa 0.01 sekunde
Test 4 Tacno resenje vreme izvrsavanja programa 0 sekunde
Test 5 Tacno resenje vreme izvrsavanja programa 0.01 sekunde
Test 6 Tacno resenje vreme izvrsavanja programa 0.01 sekunde
Test 7 Tacno resenje vreme izvrsavanja programa 0.01 sekunde
Test 8 Tacno resenje vreme izvrsavanja programa 0.01 sekunde
Test 9 Tacno resenje vreme izvrsavanja programa 0.01 sekunde
Test 10 Tacno resenje vreme izvrsavanja programa 0.01 sekunde


:P


Koliko sam uocio iz iskustva, svi zadaci na z-treningu su napravljeni tako da samo optimalni slucajevi prolaze (npr. zadatak proizvod koji mi nikako nije prolazio).

PS Slobodane, tvoj dizel kod takodjer prolazi sve test primjere za 0.01 sekundu.
b
boba5551
Hteo sam da kazem da nije poenta u vremenu. Ti kometarises vreme, a nisi uradio zadatak. Za to je bio vezan moj komentar. Takodje, svestan si da nije ista tezina ako se za neki zadatak da vremensko ogranicenje od 0.1 sec i 5 sec.
d
dj_ole
meni ne prolazi 8 9 i 10, i stvarno ne znam zasto....
jel moze neko da mi posalje slichne test primere kao sto su ovi ??
n
nemanja90
Jel mogu ja da dobijem 2 i 4, jedno vreme sam ih imao kao tavne ali mi nisu prolazila 3 druga pa sam malo izmenio program i sad mi ta 3 prolaze ali ne i ova 2.
b
boba5551
@Nemanja:
Shta se kod tebe deshava ako je c > v, odnosno uzmi jedan prost takav primer i vidi kako se tvoj program ponasa.
b
boba5551
@Dj o r dj e jovanovic:
Ovaj deo koda

while(maxa-c>d){
maxa=maxa-c;
maxb=maxb+c-2*d;
}

if(maxa>d){
if((maxa-c)<0){
maxb=maxb+maxa;
maxa=0;
}


Nije tacan. Razmisljaj ovako - izasao sam iz while-a i maxa-c < 0 (ne samo od d). Shta onda? Jednostavna izmena kao

maxb=maxb+maxa;
maxa=0;

u

maxb=maxb+d;
// ne postoji red maxa := 0

daje bolje rezultate

Potrudi se sam da sredis sada to. Ne prolazi ti posle izmene jos samo poslednji primer.
n
nemanja90
[quote author=Slobodan Mitrović link=topic=10048.msg12638#msg12638 date=1205765119]
@Nemanja:
Shta se kod tebe deshava ako je c > v, odnosno uzmi jedan prost takav primer i vidi kako se tvoj program ponasa.
[/q]

Ulaz 1000 100 1100
izlaz 900 0

Funkcionise u tom slucaju.
b
boba5551
Kako god, u tome sto sam rekao ti je greska, sto ne znaci da je za svaku mogucu vrednost. Dodaj ovo posle ucitavanja vrednosti

if c > v then
c := v;


i onda ce ti sve ok raditi
n
nemanja90
Hvala, a jel bi ti bio problem da mi ipak posaljes ta 2 primera ipak da ja idem lepo na watch pa da probam sam to da uocim i ispravim?
b
boba5551
Nisu bas ti, ali pomoci ce ti
500 1000 10000
1 2 3000
2 3 4000
n
nemanja90
hvala, uocio sam problem
A
Asmirasmir
Je li moze da mi neko send 5 i 6 test case ili da pogleda source jer ne kontam na cemu mi pada :S
http://z-trening.com/submit.php?subm_stat=1&submit=7100141255
h
halil
@Asmir.
Ne znam testove, ali probaj:
a) 60 44 49. Trebalo bi da je rezultat 5 11, a kod tebe je 0 60.
b) 13 8 41. Trebalo bi da je rezultat 5 0, a kod tebe je 0 13.
A
Asmirasmir
Hvala , mnogo je pomoglo :D