Pagini: 1 [2]   În jos
  Imprimă  
Ajutor Subiect: 605 Economie  (Citit de 8179 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
savim
Nu mai tace
*****

Karma: 194
Deconectat Deconectat

Mesaje: 333



Vezi Profilul
« Răspunde #25 : Mai 07, 2008, 19:21:58 »

Incearca-le pe astea...

Cod:
14
13
2
189
3
18
29
398
192
38
182
8930
31
34008
18203

12
10
20
30
47815
50000
49999
10
19823
7291
47381
2810
1

18
19272
182
18949
281
38540
283
4840
283
4
42721
46738
4839
47329
25329
47832
33823
3
5


Mie imi da (sursa 100) :
Cod:
2
2
3

1
1

3
3
4
5

Sper sa nu fi bushit ceva  Tongue
« Ultima modificare: Mai 07, 2008, 19:33:13 de către Stan Serban Andrei » Memorat
petre
Strain


Karma: 1
Deconectat Deconectat

Mesaje: 6



Vezi Profilul
« Răspunde #26 : Mai 07, 2008, 19:29:19 »

@savim: al treilea nu ar trebui sa fie 3 3 4 5?
Memorat
savim
Nu mai tace
*****

Karma: 194
Deconectat Deconectat

Mesaje: 333



Vezi Profilul
« Răspunde #27 : Mai 07, 2008, 19:32:06 »

Ba da, ai drepatete, o sa modific in topic. Merci si scuze.
Memorat
Mishu91
Nu mai tace
*****

Karma: 169
Deconectat Deconectat

Mesaje: 751



Vezi Profilul
« Răspunde #28 : Mai 07, 2008, 22:14:50 »

Cum ati scos O(N*Vmax) (k in solutie), k io n-am reusit mai putin de O(N^2*Vmax), pt ca trebuiesc luate toate sumele posibile cu numerele respective din cate am inteles  Smile
Memorat
gabitzish1
Moderatori infoarena
Nu mai tace
*****

Karma: 321
Deconectat Deconectat

Mesaje: 926



Vezi Profilul
« Răspunde #29 : Mai 07, 2008, 22:21:14 »

Eu am sortat valorile, si pt fiecare moneda am parcurs de la 0 la Vmax pt a afla sumele ce se pot forma cu el, daca gasesc una care nu se formase pana atunci, inseamna ca moneda respectiva trebuie afisata.
Memorat
Mishu91
Nu mai tace
*****

Karma: 169
Deconectat Deconectat

Mesaje: 751



Vezi Profilul
« Răspunde #30 : Mai 07, 2008, 22:26:31 »

Mersi ... am scos suta  Yahoo!. Faceam o parcurgere care nu-si avea rostu si de asta scoteam O(N^2*Vmax)
Memorat
Bogdan_tmm
De-al casei
***

Karma: 4
Deconectat Deconectat

Mesaje: 122



Vezi Profilul
« Răspunde #31 : Decembrie 25, 2008, 10:07:05 »

ce nu e bine in abordarea asta?
Cod:
for(i=1;i<=n;i++)
 {
  s+=a[i];
  if(!v[i])
   v[i]=2,min++;
  for(i1=a[i]*2;i1<=max+1;i1+=a[i])
   if(!v[i1]) v[i1]=1;
  for(i1=s;i1<=max+1;i1+=s)
   if(!v[i1]) v[i1]=1;
 }
 fprintf(g,"%ld\n",min);
 for(i1=1;i1<=max+1;i1++)
  if(v[i1]==2)
   fprintf(g,"%ld\n",a[i1]);
Asta dupa ce am sortat vectorul.Vad ca am un timp fffoarte scurt ceea ce a cam ciudat ... max e maximul din vector si cred nu are rost sa merg pana la 50000 ci doar pana la cea mai mare valoare + (1sau0)
Memorat
astronomy
Nu mai tace
*****

Karma: 204
Deconectat Deconectat

Mesaje: 492



Vezi Profilul
« Răspunde #32 : Decembrie 25, 2008, 12:16:47 »

Tu nu calculezi corect toate sumele care se pot forma. De exemplu daca as avea valorile 2, 5 si 7 cred ca folosind abordarea ta nu ai lua in calcul faptul ca suma 12 se poate forma folosind o valoare 5 si una 7. Trebuie sa folosesti un algoritm gen knapsack pentru a calcula corect acele sume care se pot forma.
Memorat
Bogdan_tmm
De-al casei
***

Karma: 4
Deconectat Deconectat

Mesaje: 122



Vezi Profilul
« Răspunde #33 : Decembrie 25, 2008, 17:55:47 »

da dar 12 va fi ocupat deja deoarece e multiplu de 2 (v[12]==1).Da,crek nu e suficient sa fac doar acea suma dar daca le'as face cum mai intra programu in O(N*VMAX)?
« Ultima modificare: Decembrie 25, 2008, 18:07:32 de către Tarca Bogdan » Memorat
crus
Strain
*

Karma: 3
Deconectat Deconectat

Mesaje: 44



Vezi Profilul
« Răspunde #34 : Decembrie 25, 2008, 19:45:05 »

tocmai am facut problema asta in N*Vmax, intra lejer
Memorat
DraStiK
Nu mai tace
*****

Karma: 131
Deconectat Deconectat

Mesaje: 207



Vezi Profilul
« Răspunde #35 : Decembrie 27, 2008, 21:49:03 »

primesc kbs la 8 teste  Mad
am declarat un vector de 50000 si 2 de 1000, e prea mult? Confused
Memorat
andrei-alpha
Client obisnuit
**

Karma: 103
Deconectat Deconectat

Mesaje: 91



Vezi Profilul
« Răspunde #36 : Decembrie 27, 2008, 21:59:16 »

Nu iei kbs de la prea multa memorie alocata cred, daca era asa, luai ori kbs pe toate testele ori mle(memory limit exceeded) pe unele.
Faci alceva dubios poate iesi din vector.
Memorat
DraStiK
Nu mai tace
*****

Karma: 131
Deconectat Deconectat

Mesaje: 207



Vezi Profilul
« Răspunde #37 : Decembrie 28, 2008, 10:24:23 »

multumesc, mam prins si eu de ciudatenia mea Very Happy

intrun final am luat 100 Yahoo!
Memorat
Flloryn
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 5



Vezi Profilul
« Răspunde #38 : Aprilie 15, 2009, 05:16:18 »

Eu nu inteleg ce se intampla la problema asta, sursa mea este compilata in pascal, am dat si exemplele de pe topic toate merg, dar cand o incarc imi apare "Non zero exit-status" wink  am verificat sa nu-mi iasa din vector, dar mi se pare in regula.    Ajutati-ma va rog!!!!!!     Think Think   sursa are codul #304725
Memorat
MciprianM
Nu mai tace
*****

Karma: 87
Deconectat Deconectat

Mesaje: 324



Vezi Profilul
« Răspunde #39 : Aprilie 15, 2009, 06:45:45 »

Citat
Non-zero exit status: Programul tau a returnat o valoare diferita de 0. Cel mai probabil ai uitat return 0; sau ceva similar. Poti primi acest mesaj si in loc de mesajul "Killed by signal": verifica si dupa erorile mentionate deasupra.
Mai multe detalii despre evaluator gasesti aici.http://infoarena.ro/documentatie/evaluator
Memorat
Flloryn
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 5



Vezi Profilul
« Răspunde #40 : Aprilie 15, 2009, 07:37:45 »

nu inteleg cum poate returna 0, daca nu folosesc nici o functie, iar programul cand il compilez e ok, da rezultatul bun. (lucrez in pascal, iar aici nu am return 0) wink wink
Memorat
MciprianM
Nu mai tace
*****

Karma: 87
Deconectat Deconectat

Mesaje: 324



Vezi Profilul
« Răspunde #41 : Aprilie 15, 2009, 11:40:46 »

Nu prea stiu Pascal, dar incearca sa scrii exit(0);
Ceva de genul:
Cod:
program economie;
begin
...........
exit(0)
end
;
Desi nu cred ca e asta problema. Mai citeste aici: http://infoarena.ro/forum/index.php?topic=364.0  prima pagina .
Incearca sa cresti dimensiunile vectorilor si sa recitesti codul cu atentie; poate iti gasesti greseala.
« Ultima modificare: Aprilie 15, 2009, 11:47:55 de către Marginean Ciprian » Memorat
Flloryn
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 5



Vezi Profilul
« Răspunde #42 : Mai 17, 2009, 12:29:07 »

Ma tot chinui la problema asta, imi spuneti si mie va rog ce nu e bine in abordarea asta: La toate testele iau raspuns gresit
Cod:
   1. program pascal;  
   2. var f,g:text;    t:array[1..50000] of byte; x,p:array[1..1000] of longint; 
   3.                  max,i,k,j,n,aux,c:longint; 
   4.   procedure citire; 
   5.   begin 
   6.   assign(f,'economie.in'); reset(f); 
   7.   assign(g,'economie.out'); rewrite(g); 
   8.   readln(f,n); 
   9.   
  10.   for i:=1 to n do readln(f,x[i]); 
  11.   max:=50000; 
  12.   for i:=1 to max do t[i]:=1; 
  13.   close(f); 
  14.   end; 
  15.   
  16.   procedure sort(s,d:longint); 
  17.   var a,b,aux,ia:longint; 
  18.   begin 
  19.     a:=s; b:=d; 
  20.     repeat 
  21.     while x[a]<x[b] do b:=b-1; 
  22.     aux:=x[a]; x[a]:=x[b]; x[b]:=aux; ia:=1; a:=a+1; 
  23.     if a<b then 
  24.             begin 
  25.             while x[a]<x[b] do a:=a+1; 
  26.             if a<>b then 
  27.              begin 
  28.              aux:=x[a]; x[a]:=x[b]; x[b]:=aux; ia:=0; b:=b-1; 
  29.              end; 
  30.             end; 
  31.     until b<=a; 
  32.     if a-ia>s then sort(s,a-ia); 
  33.     if a-ia+1<d then sort(a-ia+1,d); 
  34.   end; 
  35.   
  36.   procedure sorte; 
  37.   begin 
  38.   k:=0; 
  39.   for j:=1 to n do 
  40.     begin 
  41.     if  t[x[j]]=1 then 
  42.        begin 
  43.        k:=k+1; p[k]:=x[j]; t[x[j]]:=0; 
  44.        end; 
  45.     for i:=1 to max do 
  46.     if t[i]=0 then 
  47.              begin 
  48.              c:=i+x[j]; 
  49.              if (c<=max) then t[c]:=0; 
  50.              end; 
  51.      end; 
  52.   end; 
  53.   
  54.   procedure afisare; 
  55.   begin 
  56.   writeln(g,k); 
  57.   for i:=1 to k do writeln(g,p[i]); 
  58.   close(g); 
  59.   end; 
  60.   
  61. begin 
  62. citire; 
  63. sort(1,n); 
  64. sorte; 
  65. afisare; 
  66. end. 
Imi cer scuze pentru cod  dar chiar nu stiu ce sa mai fac sa iau si eu 100. Va rog sa-l stergeti daca e neregulamentara  expunerea lui.   Smile
Memorat
dornescuvlad
Nu mai tace
*****

Karma: -138
Deconectat Deconectat

Mesaje: 234



Vezi Profilul
« Răspunde #43 : Martie 26, 2010, 14:17:21 »

Rog pe e cineva cu o sursa de 100 sa genereze 2-3 exemple, sa incerc si eu sa ma prind ce gresesc.Pe ale mele da bine, si si pe celelalte postate in topic.  Ok
Multumesc.
Memorat
Pagini: 1 [2]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines