•gabitzish1
|
 |
« Răspunde #25 : Septembrie 03, 2007, 14:44:25 » |
|
vectorul e de 500000...declara'l de tip char...daca nu ai facut asta pana acum..
|
|
|
Memorat
|
|
|
|
•skyel
|
 |
« Răspunde #26 : Septembrie 03, 2007, 14:46:03 » |
|
si ar cam trebui sa pui declaratia in afara lu main ca sa nu mai fie nevoie sa initializezi vectoru cu 0, sau orice altceva. Si mai este oricand varianta rezolvarii pe biti, caz in care un int de 20.000 ar fi chiar prea mult... 
|
|
« Ultima modificare: Septembrie 03, 2007, 14:49:28 de către Ghitulete Razvan »
|
Memorat
|
|
|
|
•vicenzo_cnu
Strain
Karma: -2
Deconectat
Mesaje: 6
|
 |
« Răspunde #27 : Septembrie 03, 2007, 19:15:11 » |
|
asta era... initializam cu 0 charul.... mc pt sfaturi baieti... am luat si eu 100 
|
|
|
Memorat
|
|
|
|
•ciprianf
|
 |
« Răspunde #28 : Ianuarie 17, 2008, 20:04:20 » |
|
Eu unul nu inteleg de ce luam vectorul pana la 500.000 avand in vedere ca numarul maxim care poate fii schimbat este 1 milion...poate careva sa-mi explice?
|
|
|
Memorat
|
|
|
|
•Florian
|
 |
« Răspunde #29 : Ianuarie 17, 2008, 20:10:31 » |
|
Nah. Nici eu nu intelegeam ce era cu a treia precizare. Cred ca a modificat cineva enuntul. A fost modificat acum la loc. Ar trebui sa fie bine. 
|
|
|
Memorat
|
|
|
|
•wefgef
|
 |
« Răspunde #30 : Ianuarie 17, 2008, 20:19:59 » |
|
Dubioasa precizarea aia. Apropo, stiti ca se poate O(1) memorie, nu? 
|
|
|
Memorat
|
omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
|
|
|
•Florian
|
 |
« Răspunde #31 : Ianuarie 17, 2008, 21:52:02 » |
|
Nu!  Da niste indicii... presupun ca trebuie retinute niste capete de intervale... dar nu prea imi dau seama de o solutie concreta.
|
|
|
Memorat
|
|
|
|
•skyel
|
 |
« Răspunde #32 : Ianuarie 17, 2008, 22:00:03 » |
|
hmm, cred ca ai putea sa calculezi suma totala din matrice(intra in long long) si sa numeri elementele lipsa. Si asa aflii suma elementelor lipsa si stii cate sunt si ca sunt consecutive.
|
|
|
Memorat
|
|
|
|
•wefgef
|
 |
« Răspunde #33 : Ianuarie 17, 2008, 22:38:06 » |
|
Corect.
Edit: Stiind cate numere consecutive sunt lipsa si care e suma lor, poti afla usor intervalul cautat.
|
|
« Ultima modificare: Ianuarie 17, 2008, 22:47:05 de către Andrei Grigorean »
|
Memorat
|
omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
|
|
|
•gabitzish1
|
 |
« Răspunde #34 : Ianuarie 17, 2008, 22:43:50 » |
|
Ai pus toata rezolvarea aici... ajungea ce a scris Razvan, sa mai gandeasca omu cum sa'o rezolve..
|
|
|
Memorat
|
|
|
|
•wefgef
|
 |
« Răspunde #35 : Ianuarie 17, 2008, 22:46:10 » |
|
Eh, pot sa editez  . Apropo, solutia asta merge si la OJI fara numere mari. Se puteau folosi numere reale  . Edit: Am editat mai sus, sa se mai gandeasca lumea 
|
|
|
Memorat
|
omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
|
|
|
•Florian
|
 |
« Răspunde #36 : Ianuarie 18, 2008, 09:05:31 » |
|
Tot e prea mult. 
|
|
|
Memorat
|
|
|
|
•pishty
Strain
Karma: -1
Deconectat
Mesaje: 1
|
 |
« Răspunde #37 : Ianuarie 24, 2008, 21:13:17 » |
|
...
Eu am facut mai simplu din mate s=n(n+1)/2 dar in cazul acesta este s=n*n*(n*n+1)/2 dar imi da eroare  pt ca se imparte la 0 dar nu stiu unde  #include<fstream.h> int main() {unsigned long n,a[501][501],i,j,nr=0,dif,s,s1=0; ifstream f("numere.in"); ofstream g("numere.out"); f>>n; for (i=1; i<=n; i++) for(j=1; j<=n; j++) {f>>a[i][j]; if (a[i][j]==0) nr++; s1+=a[i][j]; } s=(n*n*(n*n+1))/2; dif=s-s1; i=(dif+1)/nr-1; j=i+nr-1; g<<i<<" "<<j; f.close(); g.close(); return 0; }
va rog cn imi poate zice unde am gresit? Editat de moderator: folositi tag-ul "code" cand postati bucati din sursa
|
|
« Ultima modificare: Ianuarie 24, 2008, 21:25:03 de către Stefan Istrate »
|
Memorat
|
|
|
|
•byndrsn
Client obisnuit

Karma: 19
Deconectat
Mesaje: 72
|
 |
« Răspunde #38 : Ianuarie 24, 2008, 23:15:20 » |
|
Nu cred ca impartzi la 0, ci primesti segmentation fault. Fisierele de intrare/iesire sunt numere5.in, numere5.out. Unde folosesti valorile salvate in matricea a? O(1) memorie e suficient. Later edit: Codul nu compileaza fara "using namespace std" de exemplu. Formula ta nu cred ca e corecta. Pe exemplul: iti da 5 10 nu?
|
|
« Ultima modificare: Ianuarie 24, 2008, 23:37:42 de către Alina Ene »
|
Memorat
|
|
|
|
•Vlad-andrei
Strain
Karma: 2
Deconectat
Mesaje: 21
|
 |
« Răspunde #39 : Martie 13, 2008, 20:33:35 » |
|
Nu se poate publica testul 8?E singurul care nu imi merge si fiind corectare grupata,primesc doar 50 de puncte.Are valori chiar asa de mari?Multumesc!
|
|
|
Memorat
|
|
|
|
•gabitzish1
|
 |
« Răspunde #40 : Martie 13, 2008, 20:53:47 » |
|
Tu primesti TLE nu Raspuns gresit. La ce te ajuta daca stii pe ce test iti iese din timp? incearca sa mai optimizezi putin si trebuie sa'ti intre in timp.
|
|
|
Memorat
|
|
|
|
•jupanu92
Client obisnuit

Karma: -86
Deconectat
Mesaje: 76
|
 |
« Răspunde #41 : Martie 30, 2008, 19:39:08 » |
|
Memory limit exces pe ultimele 6 teste  ( dar nus de ce ca doar am folosit un vector char cu 500.000 de elemente ....... chiar nu mai inteleg nimik. Daca nam voie sa postez sursa va explic cum am facut si voi imi spuneti ce am gresit daaca vreti  - am declarat un vector char de 500.000 elemente - am citit n - dupaia daca n era mai mare de 500.000 initializam vectorul cu 0 pana la 500.000 - daca era mai mic initializam vecotrul cu 0 pana la n*n - dupaia citeam intro variabila fiecare numar; - dupaia daca variabila aia nu era 0 pe elementul c[a]='1'; -dupaia daca n*n este mai mare decat 500.000 atunci faceam un for de la 1 la 500.000 si cand intalneam un '0' ma opream si il afisam si dupaia un for de la 500.000 la 1 si cand gasea un 0 il afisa si se oprea ; - daca n*n era mai mic la fel faceam numai ca primul for mergea pana la n*n si al doile de la n*n .. edit :Cred ca stiu ce e gresit .... cred ca trebuia sa merg pana la 64000 ..... Eu cred ca am procedat corect daca nu va rog sa imi ziceti si mie ce e gresit 
|
|
« Ultima modificare: Martie 30, 2008, 20:00:13 de către Popescu Marius »
|
Memorat
|
|
|
|
•fireatmyself
|
 |
« Răspunde #42 : Martie 30, 2008, 20:20:42 » |
|
da. poti sa calculezi memoria inmultind dimensiunea fiecarui tablou cu marimea tipului de date al tabloului si adunand rezultatele [...] aici gasesti o lista cu dimensiunile tipurilor de date. o variabila 'long long' are 8 bytes. te-ai uitat peste ce ti-am scris eu ieri? limita de memorie este 640KB si tu ai declarat mult mai mult, de aceea iei MLE. cred ca ai inceput sa-ti creezi un obicei prost, intreband de fiecare data cand nu iti iese ceva. incearca sa debughezi sursele, sa cauti singur greselile, pentru ca altfel nu o sa inveti mai nimic... daca nu iese, citesteste hinuturile de pe forum si daca nici atunci nu iese, consulta solutiile oficiale. intreaba de o problema de-abia dupa ce te-ai chinuit vreo 2-3 zile la ea. nu vreau sa sune ca un repros, ci ca un sfat, si nici nu vreau sa te descurajez in a pune intrebari. sunt convins ca prin munca, vei gasi raspunsul la multe probleme. 
|
|
|
Memorat
|
Viata e scurta. Daca nu o putem lungi, macar s-o facem lata.
|
|
|
•jupanu92
Client obisnuit

Karma: -86
Deconectat
Mesaje: 76
|
 |
« Răspunde #43 : Martie 30, 2008, 20:45:34 » |
|
Va rog eu mult bagati id meu in lista voastra pls marius_bv21 vreau si eu niste indicatii la ea sau macar spunetimi ce raspuns este la testul 6 si 9 ...... ptr ca eu cred ca este un rezultat mai mare decat vecotrul meu si de aceea este incorect raspunsul meu ....
edit : Gata sa rezolvat ... chiar ca miam creat un obicei prost de fiecare data cand nu imi iese postez mesaje pe forum .. de acu nu o sa se mai intample
|
|
« Ultima modificare: Aprilie 04, 2008, 15:35:06 de către Popescu Marius »
|
Memorat
|
|
|
|
•wefgef
|
 |
« Răspunde #44 : Martie 31, 2008, 19:00:45 » |
|
Dupa cum am vazut ca ti-au mai sugerat si altii, sfatul meu este sa te chinui mai mult singur, deoarece asa vei fi cel mai castigat. E bine sa intrebi pe forum ce nu stii, insa nu intr-o maniera excesiva.
Renunta la Borland (ai putea sa incepi folosind Dev C++) si invata sa iti faci generatoare si evaluatoare.
Spor la treaba!
|
|
|
Memorat
|
omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
|
|
|
•jupanu92
Client obisnuit

Karma: -86
Deconectat
Mesaje: 76
|
 |
« Răspunde #45 : Aprilie 03, 2008, 18:23:53 » |
|
Da am invata alt limbaj si am renuntat la borland ... se vede foarte mult diferenta erau multe pr care nu imi mergeau din cauza asta iar acu imi merg dar asta nici acu nu imi merge ptr ca folosesc un vector char cu multe elemente am marit numarul de elemente pana la limita memoriei dar tot iau incorect pe 2 teste...
|
|
|
Memorat
|
|
|
|
•toni2007
|
 |
« Răspunde #46 : Aprilie 04, 2008, 12:22:13 » |
|
Da am invata alt limbaj si am renuntat la borland ...
adica ai trecut la pascal? ca pana la urma devu e tot c++  deci e ac limbaj
|
|
|
Memorat
|
|
|
|
•jupanu92
Client obisnuit

Karma: -86
Deconectat
Mesaje: 76
|
 |
« Răspunde #47 : Aprilie 04, 2008, 15:33:06 » |
|
Nu ma refeream la asta  ci la faptul ca nu mai folosesc citirea cu stream-uri ci cu scanf care parerea mea este de 10 ori si de aceea acu iau mai usor 100 la pr inainte aveam 10 pr incercate acu am doar 3 ..eroarea mea mam exprimat gresit
|
|
|
Memorat
|
|
|
|
•codrin
Strain
Karma: 0
Deconectat
Mesaje: 11
|
 |
« Răspunde #48 : Aprilie 10, 2008, 17:25:12 » |
|
nu inteleg dc imi da MLE la 3 teste  am declarat vectoru bool de 500000 si in rest nu am nimic ce ar putea iesi atat din memorie si totusi nu iau decat la 70 % din teste ajutati-ma va rog
|
|
|
Memorat
|
|
|
|
•fireatmyself
|
 |
« Răspunde #49 : Aprilie 10, 2008, 18:03:14 » |
|
e declarat global? daca e declarat global, ai grija sa nu faci multe apeluri recursive.
|
|
|
Memorat
|
Viata e scurta. Daca nu o putem lungi, macar s-o facem lata.
|
|
|
|