#1035
Blis
Se consideră un şir de biţi şi un număr natural K
. Şirul se împarte în secvenţe astfel încât fiecare bit din şir să aparţină unei singure secvenţe şi fiecare secvenţă să aibă lungimea cel puţin 1
şi cel mult K
. După împărţire, fiecare secvenţă de biţi se converteşte în baza 10
, obţinându-se un şir de valori zecimale. De exemplu, pentru şirul de biţi 1001110111101010011
şi K = 4
, se poate obţine 1 0011 101 111 0 1010 011
, apoi în baza 10
: 1
, 3
, 5
, 7
, 0
, 10
, 3
. O altă împărţire poate fi 1 00 1 1 10 11 110 1010 011
, adică 1
, 0
, 1
, 1
, 2
, 3
, 6
, 10
, 3
.
Scrieţi un program care:
10
) care se poate obţine dintr-o secvenţă de cel mult K
biţiK
biţi astfel încât şirul zecimal obţinut să conţină un subşir strict crescător de lungime maximă posibilă.OJI 2012, clasele XI, XII
Problema | Blis | Operații I/O |
blis.in /blis.out
|
---|---|---|---|
Limita timp | 0.5 secunde | Limita memorie |
Total: 32 MB
/
Stivă 8 MB
|
Id soluție | #51062768 | Utilizator | |
Fișier | blis.cpp | Dimensiune | 1.13 KB |
Data încărcării | 21 Mai 2024, 21:45 | Scor / rezultat | 100 puncte |
blis.cpp: In function 'int main()': blis.cpp:14:33: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("blis.in","r",stdin); ^ blis.cpp:15:35: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("blis.out","w",stdout); ^ blis.cpp:16:25: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d%s",&k,B+1);n=strlen(B+1); ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
1 | 0 secunde | OK. | 5 | 5 | ||
2 | 0 secunde | OK. | 5 | 5 | ||
3 | 0 secunde | OK. | 5 | 5 | ||
4 | 0 secunde | OK. | 5 | 5 | ||
5 | 0 secunde | OK. | 5 | 5 | ||
6 | 0 secunde | OK. | 5 | 5 | ||
7 | 0 secunde | OK. | 5 | 5 | ||
8 | 0 secunde | OK. | 5 | 5 | ||
9 | 0 secunde | OK. | 5 | 5 | ||
10 | 0 secunde | OK. | 5 | 5 | ||
11 | 0 secunde | OK. | 5 | 5 | ||
12 | 0 secunde | OK. | 5 | 5 | ||
13 | 0 secunde | OK. | 5 | 5 | ||
14 | 0 secunde | OK. | 5 | 5 | ||
15 | 0.008 secunde | OK. | 5 | 5 | ||
16 | 0.024 secunde | OK. | 5 | 5 | ||
17 | 0.056 secunde | OK. | 5 | 5 | ||
18 | 0.148 secunde | OK. | 5 | 5 | ||
19 | 0.196 secunde | OK. | 5 | 5 | ||
20 | 0.296 secunde | OK. | 5 | 5 | ||
Punctaj total | 100 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Blis 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ă.