|
Titlul: 1091 Kbiti Scris de: Andrei Grigorean din Decembrie 13, 2010, 00:37:03 Aici puteti discuta despre problema Kbiti (http://infoarena.ro/problema/kbiti).
Titlul: Răspuns: 1091 Kbiti Scris de: Farcas Ionut din Decembrie 13, 2010, 15:20:38 80 de pct...nasol la ultimele 2 teste imi da eroare la timp
Titlul: Răspuns: 1091 Kbiti Scris de: Vlad Eugen Dornescu din Decembrie 13, 2010, 16:01:47 80 de pct...nasol la ultimele 2 teste imi da eroare la timp Incearca sa schimbi citirea.Foloseste gets(S) pentru a citi o linie (un sir de biti de lungime L). Titlul: Răspuns: 1091 Kbiti Scris de: Eugenie Daniel Posdarascu din Decembrie 20, 2010, 16:10:57 Foloseste urmatoarea citire:
scanf("%s",s); E cea mai rapida citire care o stiu dar nu trebuie folosita mereu. In cazul in care ai spatii sau lungimea sirului depaseste 30 000 (sau asa ceva) e indicat sa nu o folosesti. In cazul acestei probleme ar trebui sa mearga. Multa bafta. Titlul: Răspuns: 1091 Kbiti Scris de: Simoiu Robert din Decembrie 20, 2010, 17:08:49 Pot sa te contrazic, fgets e mult mai rapid, eu am citit cu scanf, am avut 90 pct. iar cu fgets am luat 100 lejer. Cand volumul de date este mare, fgets face diferenta ;).
Titlul: Răspuns: 1091 Kbiti Scris de: Alexandru Gherghe din Decembrie 29, 2010, 22:51:24 Puteti va rog sa ma ajutati sa-mi spuneti ce anume este gresit in sursa mea? Iau 90p si chiar nu inteleg unde este greseala...
Cod: #include<cstdio> Titlul: Răspuns: 1091 Kbiti Scris de: Dragos-Alin Rotaru din Decembrie 29, 2010, 23:27:04 Declara char sir [33] apoi inlocuieste
Cod: sol+=(long long int)(sir[i]-'0')*(long long int)(1<<j); Cod: sol+=(sir[i]-'0')*(1LL<<j); Titlul: Răspuns: 1091 Kbiti Scris de: Alexandru Gherghe din Decembrie 30, 2010, 02:00:06 mersi, acum merge. dar nu inteleg, ce face exact instructiunea asta "1LL" si practic de ce nu merge cum faceam eu?
Titlul: Răspuns: 1091 Kbiti Scris de: Sima Cotizo din Decembrie 30, 2010, 07:42:24 "1LL" este numarul 1 de tip long long. La cum faceai tu, intai se efectua shift si dupa conversia catre long long: practic rezultatul shiftarii ramanea int pana la conversie, de unde si rezultatul eronat. Cred ca ar fi mers si:
Cod: (((long long)1) << j) Titlul: Răspuns: 1091 Kbiti Scris de: Alexandru Gherghe din Decembrie 30, 2010, 11:33:35 aha, am inteles. multumesc mult de ajutor:)
Titlul: Răspuns: 1091 Kbiti Scris de: Simoiu Robert din Ianuarie 20, 2011, 10:30:34 Un sfat pentru cei din Pascal, ca sa luati 100 pct. Folositi SetTextBuf (http://www.freepascal.org/docs-html/rtl/system/settextbuf.html) :
Cod: var Bufin : array[1 .. 1 shl 17] of char; Titlul: Răspuns: 1091 Kbiti Scris de: Nicu B. din Mai 08, 2012, 17:51:28 Eu am luat 100 cu un vector de puteri de la 2^1 pana la 2^32 (poate ajuta pe cineva).
Titlul: Răspuns: 1091 Kbiti Scris de: Petru Trimbitas din Mai 08, 2012, 18:48:52 Tie nu ti-a intrat din cauza ca ai folosit pow. Fa si tu operatii pe biti sau baga exponentiere in timp logaritmic. http://infoarena.ro/problema/lgput (http://infoarena.ro/problema/lgput) ;)
Titlul: Răspuns: 1091 Kbiti Scris de: Oncescu Costin din Mai 08, 2012, 19:45:42 Eu iau 90 si nu inteleg de ce.Ma poate ajuta si pe mine cineva?
Cod: gets(a+1); Edit: cand postezi cod in mesaje pe forum trebuie sa folosesti tag-ul code Titlul: Răspuns: 1091 Kbiti Scris de: Mihai-Alexandru Dusmanu din Mai 08, 2012, 20:22:15 Incearca sa faci cum e scris mai jos ;). S-ar putea sa mearga. Cred ca la tine se buseste daca faci (1 << 31).
Cod: (1LL << (m - j)) Titlul: Răspuns: 1091 Kbiti Scris de: Oncescu Costin din Mai 13, 2012, 14:58:05 Ms asta era greseala am luat 100 :yahoo:
Titlul: Răspuns: 1091 Kbiti Scris de: Campeanu Vlad din Octombrie 01, 2012, 21:58:43 Nu prea are legatura cu problema ci cu cast-ul. Nu inteleg de ce nu merge sa faci asa:
Cod: long long sol = 0; Pentru ca 1 << 31 nu incape pe int ci maxim (1 << 31) - 1 ? Daca as avea Cod: long long sum; |