#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 | #8210278 | Utilizator | |
Fișier | carte.c | Dimensiune | 1.21 KB |
Data încărcării | 07 Februarie 2018, 17:09 | Scor / rezultat | 4 puncte |
carte.c: In function 'main': carte.c:28:11: warning: ignoring return value of 'fscanf', declared with attribute warn_unused_result [-Wunused-result] fscanf(in, "%d", &n); ^ carte.c:35:15: warning: ignoring return value of 'fscanf', declared with attribute warn_unused_result [-Wunused-result] fscanf(in, "%d", &pages[i]); ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
1 | 0 secunde | Cerinta a - corect. | 10 | 4 | ||
2 | 0 secunde | Cerinta a - gresit. | 10 | 0 | ||
3 | 0 secunde | Cerinta a - gresit. | 10 | 0 | ||
4 | 0 secunde | Cerinta a - gresit. | 10 | 0 | ||
5 | 0 secunde | Cerinta a - gresit. | 10 | 0 | ||
6 | 0.004 secunde | Cerinta a - gresit. | 10 | 0 | ||
7 | 0.028 secunde | Cerinta a - gresit. | 10 | 0 | ||
8 | 0.016 secunde | Cerinta a - gresit. | 10 | 0 | ||
9 | 0.02 secunde | Cerinta a - gresit. | 10 | 0 | ||
10 | 0.02 secunde | Cerinta a - gresit. | 10 | 0 | ||
Punctaj total | 4 |
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ă.