← Back to topics
Topic

Takmicenje

n
nemanja90
program takmicenje;
var
a,b,c,i,j:longint;
n:array[1..1000000] of longint;
m:array[1..10000] of longint;
begin
j:=0;
repeat
read(a);
if a=0 then
begin
read(b);
readln(c);
for i:=1 to b do
n[i]:=c;
end;
if a=1 then
begin
read(b);
readln(c);
n[b]:=n[b]+c;
end;
if a=2 then
begin
readln(b);
j:=j+1;
m[j]:=n[b];
end;
until
a=3;
for i:=1 to j do
writeln(m[i]);
end.


Compile Ok
Vreme kompajliranja: 0.14 sekunde
Testiranje

Test 1 Tacno resenje vreme izvrsavanja programa 0 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.02 sekunde
Test 6 Prekoraceno vremensko ogranicenje
Test 7 Prekoraceno vremensko ogranicenje
Test 8 Prekoraceno vremensko ogranicenje
Test 9 Prekoraceno vremensko ogranicenje
Test 10 Prekoraceno vremensko ogranicenje


Ovo gore je kod koji sam poslao, a ovo ispod je ono sto mi je izaslo kao rezultat testiranja. E, sad, ja bih imao par pitanja:
-kako to da sam uopste uspeo da napravim array[1..1000000] of longint?
-kako to da sam prekoracio vremensko ogranicenje u poslednjih 5 primera ako u prvih 5 ne prelazi 0.02 sekunde a ogranicenje je 1 sekund?
-da li je ideja dobra, tj. da li se moze nekako ustedeti na vremenu ili treba raditi na neki drugi nacin?
b
boba5551
1) pa toliko memorije ti je manje od 32 MBa koliko imas u zadatku, tako da mozes :)
2) otkud znas da u prvih 5 recimo maxn nije 15, a u poslednjih 5 10000? Pitanje bi bilo logicnije (mozda) da je obrnuto
3) zavisi kakva ti je ideja. implementacija ideje i ideje su veoma razlicite stvari. ako se nesto optimizuje, a program je relativno slozeniji, veoma je tesko pretpostaviti koja je bila pocetna ideja autora
n
nemanja90
1) ali meni nece da prizna na kompu tolike promenljive, kao structure to large i sve tako nesto
2)pa to sto kazes je tacno, ali mi je malo besmisleno da je tako, predposaatavljam da je moguce
3)ovo sam pitao samo zbog toga jer me zanima da li je moguce skratiti vreme izvrsavanja programa koji sam napravio ili moram da radim na neki drugi nacin, a tvoj odgovor me malo zbunjuje

inace, nemojte mi zameriti ako su mi pitanja malo glupa jer sam relativno nov u "svetu programiranja"
s
sanja
1) jel koristis free pascal ili turbo pascal? Turbo ako se ja dobro secam ne dozvoljava da se koristi vise od 64kb memorije. Na takmicenju je zvanici Free pascal. [url=http://www.freepascal.org/]Link[/url]
2) nije besmisleno ;) Na takmicenju uvek imas neki primer (broj varira od ranga takmicenja i raspolozenja sastavljaca zadatka) na kome ces da pokupis lake poene, tj. proci ce i neko znatno sporije, ali opet ispravno resenje, ali za maksimum moras malo vise da se pomucis.
3) jako je nezgodno tumaciti kod. Mozda ti je ideja ispravna, a implementacija losa. Cak i da je dobra, ja reeeetko uspevam da izvucem ideju iz koda bez propratnog objasnjenja, za ostale ne znam :)
n
nemanja90
1)Turbo, jer me nesto zeza free.
2)ok,ima logike
3)pa svodi se na to da se iznova ucitava prvi broj dok taj broj ne bude 3 a tad se ispisuje resenje zadatka i gasi program. ako je ucitani broj 0,1 ili 2 radi se to sto se trazi u tim situacijama, ali sam procitao u postu zadatak takmicenje(sad je na prvoj strani, par postova ispod ovog) da treba da obracam paznju samo na one kojima se menja vrednost u komandi 1 x y a ne na sve, ali mi nije jasno kako to da uradim.
b
boba5551
[quote author=Nemanja a link=topic=10379.msg12535#msg12535 date=1201635148]
inace, nemojte mi zameriti ako su mi pitanja malo glupa jer sam relativno nov u "svetu programiranja"
[/q]

Niko ti ne zamera, bili smo i mi novi u "svetu programiranja", samo zelimo da nateramo ljude da ne budu lenji ako ocekuju pomoc i da objasne resenje i pokusaju sami da ga doteraju, a ne da traze tudje i sve na tacni (ne kazem da je slucaj sa bilo kim ko je ovde na forumu)...
n
nemanja90
Znam da vam je to cilj, i ja se trudim da sam ukapiram nesto ali kad mi ne ide, moram da pitam. Ima jos dosta zadataka koje nisam uradio ocde na treningu ali necu da vas pitam dok ne dobijem neku osnovnu ideju i malo je ne razradim.