#4450
extrapare
Un număr natural se numește extrapar dacă poate fi scris ca sumă de puteri distincte ale lui 2
, puteri care au exponent par. Numărul 0
este considerat, de asemenea, extrapar. Considerând reprezentarea în baza 2 pentru un număr natural, se numerotează pozițiile cifrelor din reprezentare, de la dreapta către stânga, începând cu 0
. Asupra reprezentării în baza 2 trebuie să se efectueze o singură operație. Operația constă din eliminarea a exact K
cifre situate pe poziții consecutive. Fiind date reprezentările în baza 2 pentru N
numere naturale, să se determine pentru fiecare dintre ele dacă se poate obține un număr extrapar în condițiile de mai sus.
ONI 2023 baraj juniori
Problema | extrapare | Operații I/O |
extrapare.in /extrapare.out
|
---|---|---|---|
Limita timp | 0.3 secunde | Limita memorie |
Total: 128 MB
/
Stivă 64 MB
|
Id soluție | #50653372 | Utilizator | |
Fișier | extrapare.cpp | Dimensiune | 2.92 KB |
Data încărcării | 18 Aprilie 2024, 17:41 | Scor / rezultat | 80 puncte |
extrapare.cpp: In function 'int main()': extrapare.cpp:16:27: warning: suggest parentheses around '&&' within '||' [-Wparentheses] if(j%2==0 && s.size()%2==0 || j%2==1 && s.size()%2==1) { ^ extrapare.cpp:24:43: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int j=pozaux;j<s.size();j++) fout<<s[j]; ^ extrapare.cpp:31:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if(pozaux>=s.size()) fout<<0<<'\n'; ^ extrapare.cpp:33:43: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int j=pozaux;j<s.size();j++) fout<<s[j]; ^ extrapare.cpp:39:34: warning: suggest parentheses around '&&' within '||' [-Wparentheses] if(s[j]=='1' && j%2==1 || s[j]=='0' && j%2==0 && s[j+1]!='0' || s[j]=='0' && j%2==0 && s[j-1]!='0') { ^ extrapare.cpp:39:106: warning: suggest parentheses around '&&' within '||' [-Wparentheses] if(s[j]=='1' && j%2==1 || s[j]=='0' && j%2==0 && s[j+1]!='0' || s[j]=='0' && j%2==0 && s[j-1]!='0') { ^ extrapare.cpp:46:46: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int j=poz+1;j<s.size();j++) { ^ extrapare.cpp:48:39: warning: suggest parentheses around '&&' within '||' [-Wparentheses] if(j%2==1 && k%2==0 || j%2==0 && k%2==1) { ^ extrapare.cpp:54:39: warning: suggest parentheses around '&&' within '||' [-Wparentheses] if(j%2==0 && k%2==1 || j%2==1 && k%2==0) { ^ extrapare.cpp:66:46: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int j=poz+1;j<s.size();j++) fout<<s[j]; ^ extrapare.cpp:70:63: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] while(s[pozaux]=='0' && pozaux<s.size()) pozaux++; ^ extrapare.cpp:71:42: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if(pozaux<s.size()) { ^ extrapare.cpp:72:47: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int j=pozaux;j<s.size();j++) fout<<s[j]; ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
1 | 0.016 secunde | OK. | 5 | 5 | ||
2 | 0.012 secunde | OK. | 5 | 5 | ||
3 | 0.168 secunde | OK. | 7 | 7 | ||
4 | 0.004 secunde | OK. | 5 | 5 | ||
5 | 0 secunde | OK. | 5 | 5 | ||
6 | 0 secunde | Raspuns gresit. | 5 | 0 | ||
7 | 0 secunde | OK. | 5 | 5 | ||
8 | 0 secunde | OK. | 5 | 5 | ||
9 | 0.02 secunde | Raspuns gresit. | 7 | 0 | ||
10 | 0 secunde | OK. | 4 | 4 | ||
11 | 0 secunde | OK. | 5 | 5 | ||
12 | 0 secunde | OK. | 5 | 5 | ||
13 | 0.012 secunde | OK. | 5 | 5 | ||
14 | 0 secunde | OK. | 1 | 1 | ||
15 | 0 secunde | OK. | 1 | 1 | ||
16 | 0 secunde | OK. | 1 | 1 | ||
17 | 0 secunde | OK. | 1 | 1 | ||
18 | 0 secunde | OK. | 1 | 1 | ||
19 | 0 secunde | OK. | 1 | 1 | ||
20 | 0 secunde | OK. | 2 | 2 | ||
21 | 0 secunde | OK. | 2 | 2 | ||
22 | 0 secunde | OK. | 2 | 2 | ||
23 | 0 secunde | OK. | 2 | 2 | ||
24 | 0 secunde | OK. | 2 | 2 | ||
25 | 0 secunde | OK. | 2 | 2 | ||
26 | 0 secunde | Raspuns gresit. | 2 | 0 | ||
27 | 0 secunde | Raspuns gresit. | 2 | 0 | ||
28 | 0 secunde | OK. | 2 | 2 | ||
29 | 0 secunde | OK. | 2 | 2 | ||
30 | 0 secunde | Raspuns gresit. | 2 | 0 | ||
31 | 0 secunde | Raspuns gresit. | 2 | 0 | ||
32 | 0 secunde | OK. | 2 | 2 | ||
Punctaj total | 80 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema extrapare face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.