#1074
Carte
Rareş a primit în dar o carte în care paginile sunt amestecate. Se hotărăşte totuşi să o citească, răsfoind cartea într-un singur sens, de la prima pagină către ultima, în ordinea aşezării lor în carte, respectând următorul algoritm:
Caută la început pagina numerotată cu x=1
.
După ce a citit pagina cu numărul x
caută printre paginile următoare acestei pagini, răsfoind cartea, pagina cu numărul x+1
, fără a căuta printre paginile aşezate înaintea paginii cu numărul x
. Dacă o găseşte atunci va continua lectura în acelaşi mod, iar dacă nu o găseşte atunci va închide cartea şi, în ziua următoare, va relua lectura de la pagina cu numărul x+1
, pe care mai întâi o va caută răsfoind cartea de la început.
Rareş va proceda la fel şi în zilele următoare până când va citi întreaga carte.
Scrieţi un program care citeşte un număr natural n
, reprezentând numărul paginilor din carte şi n
numere naturale distincte x
1
, x
2
,…, x
n
, reprezentând ordinea în care sunt aşezate cele n
pagini în carte, şi care determină:
a) numărul zilelor în care Rareş citeşte cartea;
b) prima zi în care Rareş a citit cele mai multe pagini şi numărul paginilor citite în acea zi.
OJI 2011, Clasa a VI-a
Problema | Carte | Operații I/O |
![]() carte.in /carte.out
|
---|---|---|---|
Limita timp | 0.5 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #51106104 | Utilizator | |
Fișier | carte.cpp | Dimensiune | 933 B |
Data încărcării | 23 Mai 2024, 21:35 | Scor / rezultat | 100 puncte |
carte.cpp: In function 'int main()': carte.cpp:10:26: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] fscanf( fin, "%d", &n ); ^ carte.cpp:12:29: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] fscanf( fin, "%d", &pg ); ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
1 | 0 secunde | Cerinta a - corect. Cerinta b - corect. | 10 | 10 | ||
2 | 0 secunde | Cerinta a - corect. Cerinta b - corect. | 10 | 10 | ||
3 | 0 secunde | Cerinta a - corect. Cerinta b - corect. | 10 | 10 | ||
4 | 0 secunde | Cerinta a - corect. Cerinta b - corect. | 10 | 10 | ||
5 | 0 secunde | Cerinta a - corect. Cerinta b - corect. | 10 | 10 | ||
6 | 0 secunde | Cerinta a - corect. Cerinta b - corect. | 10 | 10 | ||
7 | 0 secunde | Cerinta a - corect. Cerinta b - corect. | 10 | 10 | ||
8 | 0 secunde | Cerinta a - corect. Cerinta b - corect. | 10 | 10 | ||
9 | 0 secunde | Cerinta a - corect. Cerinta b - corect. | 10 | 10 | ||
10 | 0 secunde | Cerinta a - corect. Cerinta b - corect. | 10 | 10 | ||
Punctaj total | 100 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Carte 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ă.