•DITzoneC
|
 |
« : Mai 22, 2009, 23:56:39 » |
|
Aici puteţi discuta despre problema Bere.
|
|
« Ultima modificare: Mai 24, 2009, 17:10:20 de către Paul-Dan Baltescu »
|
Memorat
|
|
|
|
|
•toni2007
|
 |
« Răspunde #2 : Mai 28, 2009, 17:37:45 » |
|
Iei SIGKILL pentru ca declari prea multa memorie. Nu iti intra o matrice de 15000 pe 15000 de long long (ai 16 mega).
|
|
|
Memorat
|
|
|
|
|
•miculprogramator
|
 |
« Răspunde #4 : Iulie 17, 2009, 18:13:12 » |
|
Nu-mi dau seama cum sa-l fac de 60,iau numai 30 de pct pe el...  Apare killed by signal 11,stiu ca am probleme cu memoria. Nu stiu insa cum pot remedia. Si inca o intrebare: Daca iau 30 de puncte inseamna ca algoritmul este corect si am probleme doar la date,sau algoritmul poate fi si incorect? 
|
|
|
Memorat
|
|
|
|
•klamathix
|
 |
« Răspunde #5 : Iulie 17, 2009, 18:42:02 » |
|
Poate fi incorect , dar in cazul de fata nu e destul de rapid. Din cate tin minte pentru 60p sortezi query-urile dupa k si pentru un k(i) iterezi o singura data pentru toate cererile asociate lui . Mie mi se pare cam aiurea . E ok ca idee de optimizare minora, dar ai mai multe de invatat din solutia de 100p . As trece direct la ea.
|
|
|
Memorat
|
|
|
|
•pauldb
|
 |
« Răspunde #6 : Iulie 17, 2009, 19:04:45 » |
|
Si inca o intrebare: Daca iau 30 de puncte inseamna ca algoritmul este corect si am probleme doar la date,sau algoritmul poate fi si incorect?  Uneori nu e suficient sa gasesti un algoritm corect, ci trebuie sa fie si eficient din punctul de vedere al timpului pe care il consuma pana gaseste raspunsul corect. Din acest motiv, fiecare problema are o limita de timp. Cand programul tau depaseste aceasta limita, in borderoul de evaluare va aparea mesajul "Time limit exceeded" (cum e cazul tau acum). Pentru a intelege mai mult cand un algoritm iti va intra in timp si cand nu, ar trebui sa citesti despre complexitate timp. Asta masoara numarul de operatii pe care il executa programul tau. In principiu, poti estima ca evaluatorul infoarena poate executa aproximativ 50 000 000 de operatii pe secunda. Din pacate articolul de pe wikipedia e cam stufos si cam dificil. Daca stie cineva un loc unde acest subiect este tratat mai pentru incepatori, ar fi bine sa il posteze.
|
|
|
Memorat
|
Am zis 
|
|
|
•miculprogramator
|
 |
« Răspunde #7 : Iulie 17, 2009, 19:18:48 » |
|
Va multumesc amandurora pentru feedback.  @klamathix, vreau sa o iau pe pasi cum se spune... "Nu trebuie sa vezi de la inceput toata scara.Doar paseste..." @d. Paul, acum citesc articolul dat de tine. "Time limit exceeded" apare pe ultima sursa in care am incercat eu ceva la dimensiunile vectorilor, la sursele de 30 pct aveam killed by signal 11. Ar merge sa discutam subiectul la sectiunea "Informatica", sau in cel mai drastic caz la "Offtopic".
|
|
|
Memorat
|
|
|
|
•pauldb
|
 |
« Răspunde #8 : Iulie 17, 2009, 20:14:05 » |
|
Asa e, nu suntem tocmai la subiect. Acum am cautat pe forum si am gasit ceva topicuri unde se discuta asta. Incearca sa le citesti si poate mai prinzi ceva.  Daca ai intrebari, poti sa le pui acolo.
|
|
|
Memorat
|
Am zis 
|
|
|
•Leocrux
Strain
Karma: 1
Deconectat
Mesaje: 2
|
 |
« Răspunde #9 : Iulie 19, 2009, 01:38:27 » |
|
Inainte de toate, Salut! Sunt nou pe infoarena si sper sa ne intelegem bine:) Dupa 2 tentative, am obtinut la a3a sursa trimisa 30 de puncte  , mai departe depasesc timpul de executie  Daca nu adorm, citesc articolul dat de Paul.
|
|
« Ultima modificare: Iulie 19, 2009, 01:45:21 de către Radu Romaniuc »
|
Memorat
|
|
|
|
•Addy.
Strain
Karma: -4
Deconectat
Mesaje: 30
|
 |
« Răspunde #10 : Iulie 29, 2009, 17:00:26 » |
|
Nu se (mai) pot trimite solutii la aceasta problema.
de ce?
|
|
|
Memorat
|
|
|
|
•toni2007
|
 |
« Răspunde #11 : Iulie 29, 2009, 22:26:36 » |
|
Nu se (mai) pot trimite solutii la aceasta problema.
de ce?
Se poate. Poate nu erai tu logat.
|
|
|
Memorat
|
|
|
|
•Bunicool
Strain
Karma: -3
Deconectat
Mesaje: 6
|
 |
« Răspunde #12 : Martie 16, 2010, 16:09:41 » |
|
M-am uitat la rezolvarea de 100 de puncte si mi se pare mult mai grea si mai time-consuming decat cea de 30 care pare mai scurta. O seara la un pahar de bere n-ar trebui sa fie asa de complicata. 
|
|
|
Memorat
|
|
|
|
•blasterz
|
 |
« Răspunde #13 : Martie 16, 2010, 17:22:29 » |
|
Deobicei complexitatea algoritmului e invers proportionala cu marimea sursei (adica cu cat e mai rapid algoritmul, cu atat e mai mare sursa). ... evident...depinde de caz
|
|
|
Memorat
|
|
|
|
•SpiderMan
|
 |
« Răspunde #14 : Martie 18, 2010, 15:29:52 » |
|
Nu totdeauna, uneori o sursa mica poate face furori 
|
|
|
Memorat
|
|
|
|
•wefgef
|
 |
« Răspunde #15 : Martie 18, 2010, 16:01:29 » |
|
Deci putem trage concluzia că mărimea sursei nu contează...
Hai să nu ne îndepărtăm prea mult de la subiect!
|
|
|
Memorat
|
omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
|
|
|
•andunhill
|
 |
« Răspunde #16 : Martie 29, 2010, 22:55:43 » |
|
Va rog frumos puteti sa ma ajutati si pe mine. http://infoarena.ro/job_detail/429277 asta e borderoul. Nu inteleg de ce imi da WA. Cod: void cinste(int i) { beri=0; long urm=0,j; bool gas=0; if(c[a[i][1]]>=a[i][2]) { g<<0<<'\n'; gas=0; } else { a[i][2]-=c[a[i][1]]; beri++; gas=1; } if(gas==1) { j=a[i][1]; if(j==n) urm=1; else urm=j+1; while(a[i][2]>=0&&a[i][2]>=c[urm]&&urm!=j) { a[i][2]-=c[urm]; beri++; urm++; if(urm==n+1) urm=1; } g<<beri<<'\n'; } } Va rog sa ma scuzati daca sursa e prea explicita si puteti sa o stergeti.
|
|
|
Memorat
|
|
|
|
•toni2007
|
 |
« Răspunde #17 : Martie 29, 2010, 23:33:55 » |
|
Problema se face cu cautare binara.
|
|
|
Memorat
|
|
|
|
•andunhill
|
 |
« Răspunde #18 : Martie 30, 2010, 07:38:28 » |
|
bun dar de ce imi da mie gresit? Ca doar algoritmul merge perfect. Pur si simplu nu inteleg de ce imi da WA. Edit: void iterare(int i) { s=0; s+=c[pb[i][1]]; long j,urm; beri=0; j=pb[i][1]; if(s>pb[i][2]) g<<0<<'\n'; else { if(j==n) urm=1; else urm=j+1; beri=1; while(urm!=j&&s<=pb[i][2]) { s=s+c[urm]; urm++; if(urm==n+1) urm=1; beri++; if(s+c[urm]>pb[i][2]) break; else if(urm==j-1&&pb[i][2]>s) { beri=n; break; } } g<<beri<<'\n'; } } Va rog sa ma scuzati din nou ca am postat o sursa de 10 pt dar nu stiu ce sa mai fac. In primul caz am scazut din banii prietenului pana cand ajungea din nou la el sau pana cand i se terminau. In a doua sursa am adunat costurile berilor pana cand imi depasea banii prietenului respectiv sau pana cand ajunge din nou la el. Daca testele sunt aceleasi de la Oni inseamna ca s-ar putea sa fie in neregula. Ca eu am luat testele de la ONI si imi da corect. Editat de moderator : Nu mai posta consecutiv, editeaza-ti mesajele anterioare.
|
|
« Ultima modificare: Martie 30, 2010, 11:02:17 de către Gabriel Bitis »
|
Memorat
|
|
|
|
•stocarul
|
 |
« Răspunde #19 : Martie 30, 2010, 14:52:15 » |
|
Dacă zici ca pe toate testele de la ONI îți dă bine iar aici primești doar 10 pct (cu WA), cel mai probabil este de la comanda de compilare. Compilează-ți sursa cu comenzile folosite de evaluatorul InfoArena, și testează din nou pe testele de la ONI: http://infoarena.ro/documentatie/evaluatorSpor 
|
|
|
Memorat
|
|
|
|
•andunhill
|
 |
« Răspunde #20 : Martie 30, 2010, 16:30:03 » |
|
pai ca sa vad ce imi da gresit mi-am facut un eval propriu care ia outul si ok si citesc 1 nr din fiecare si le compar daca gasesc 2 elemente diferite afisez linia. Problema ca inainte sa le folosesc la evaluator fisierele rezultate din rularea sursei bere sunt bune si cand le bag imi afiseaza mii de linii gresite. Si cand le verif vad ca sunt modificate. Dar nu inteleg de ce nu imi merge algoritmul. Va rog ajutor 
|
|
|
Memorat
|
|
|
|
•mateisirghe
Strain
Karma: -1
Deconectat
Mesaje: 6
|
 |
« Răspunde #21 : Martie 04, 2017, 17:49:49 » |
|
|
|
|
Memorat
|
|
|
|
•andreiPC
Strain
Karma: 0
Deconectat
Mesaje: 4
|
 |
« Răspunde #22 : Martie 04, 2017, 20:51:30 » |
|
Problema ok.Bravo,dar este super grea.  Mai incerc.......................................
|
|
|
Memorat
|
|
|
|
|