#4400
Pentru un număr natural a definim costul ca fiind valoarea absolută (modulul) diferenței dintre a și numărul prim cel mai apropiat de a. Asupra unui șir de n numere naturale, situate pe poziții numerotate de la 1 la n, se aplică, în ordine, o succesiune de q operații. O operație constă dintr-o înlocuire și o afișare și este descrisă sub forma i x p, cu semnificația:
x elementul din șir de pe poziția i;p poziții distincte din șir.Cunoscând n și cele n elemente ale șirului, scrieți un program care să determine:
1. suma costurilor tuturor elementelor din șirul dat;
2. rezultatele afișate în urma aplicării fiecăreia dintre cele q operații, date în forma precizată.
OJI 2023, clasa a VII-a
| Problema | primprim | Operații I/O |
primprim.in/primprim.out
|
|---|---|---|---|
| Limita timp | 0.5 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #64094360 | Utilizator | |
| Fișier | primprim.c | Dimensiune | 1.88 KB |
| Data încărcării | 16 Aprilie 2026, 16:50 | Scor/rezultat | 100 puncte |
primprim.c: In function ‘main’: primprim.c:45:15: warning: array subscript has type ‘char’ [-Wchar-subscripts] 45 | f[cost[v[i]]]++; | ~~~~^~~~~~ primprim.c:57:19: warning: array subscript has type ‘char’ [-Wchar-subscripts] 57 | f[cost[v[poz]]]--; | ~~~~^~~~~~~~ primprim.c:59:19: warning: array subscript has type ‘char’ [-Wchar-subscripts] 59 | f[cost[v[poz]]]++; | ~~~~^~~~~~~~ primprim.c:41:5: warning: ignoring return value of ‘fscanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 41 | fscanf( fin, "%d%d", &cer, &n ); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ primprim.c:44:9: warning: ignoring return value of ‘fscanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 44 | fscanf( fin, "%d", &v[i] ); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ primprim.c:53:9: warning: ignoring return value of ‘fscanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 53 | fscanf ( fin, "%d", &nroper ); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ primprim.c:55:13: warning: ignoring return value of ‘fscanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 55 | fscanf( fin, "%d%d%d", &poz, &x, &cate ); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 1 | 0.007 secunde | OK. | 4 | 4 | ||
| 2 | 0.006 secunde | OK. | 4 | 4 | ||
| 3 | 0.006 secunde | OK. | 4 | 4 | ||
| 4 | 0.006 secunde | OK. | 4 | 4 | ||
| 5 | 0.012 secunde | OK. | 4 | 4 | ||
| 6 | 0.007 secunde | OK. | 4 | 4 | ||
| 7 | 0.014 secunde | OK. | 4 | 4 | ||
| 8 | 0.006 secunde | OK. | 4 | 4 | ||
| 9 | 0.006 secunde | OK. | 4 | 4 | ||
| 10 | 0.006 secunde | OK. | 4 | 4 | ||
| 11 | 0.006 secunde | OK. | 4 | 4 | ||
| 12 | 0.006 secunde | OK. | 4 | 4 | ||
| 13 | 0.006 secunde | OK. | 4 | 4 | ||
| 14 | 0.007 secunde | OK. | 4 | 4 | ||
| 15 | 0.007 secunde | OK. | 4 | 4 | ||
| 16 | 0.006 secunde | OK. | 4 | 4 | ||
| 17 | 0.006 secunde | OK. | 4 | 4 | ||
| 18 | 0.006 secunde | OK. | 4 | 4 | ||
| 19 | 0.006 secunde | OK. | 4 | 4 | ||
| 20 | 0.008 secunde | OK. | 4 | 4 | ||
| 21 | 0.017 secunde | OK. | 4 | 4 | ||
| 22 | 0.021 secunde | OK. | 4 | 4 | ||
| 23 | 0.047 secunde | OK. | 4 | 4 | ||
| 24 | 0.034 secunde | OK. | 4 | 4 | ||
| 25 | 0.07 secunde | OK. | 4 | 4 | ||
| Punctaj total | 100 | |||||
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema primprim 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ă.