Detalii evaluare #7987497

Rezumat problemă

#1685 Dif2

Sandu a studiat la ora de informatică mai multe aplicații cu vectori de numere naturale, iar acum are de rezolvat o problemă interesantă. Se dă un șir X=(X[1],X[2],…,X[n]) de numere naturale nenule și două numere naturale p1 și p2, unde p1<p2. Sandu trebuie să construiască un nou șir Y=(Y[1],Y[2],…,Y[n*n]) cu n*n elemente obținute din toate produsele de câte două elemente din șirul X (fiecare element din șirul Y este de forma X[i]*X[j], 1<=i, j<=n). Sandu are de calculat două valori naturale d1 și d2 obținute din șirul Y. Valoarea d1 este egală cu diferența maximă posibilă dintre două valori ale șirului Y. Pentru a obține valoarea d2, Sandu trebuie să considere că șirul Y are elementele ordonate descrescător iar d2 va fi diferența dintre valorile aflate pe pozițiile p1 și p2 în șirul ordonat descrescător. Sandu a găsit rapid valorile d1 și d2 și, pentru a le verifica, vă roagă să le determinați și voi.

Dându-se șirul X cu n elemente și valorile p1 și p2, determinați valorile d1 și d2.

Detalii

Problema Dif2 Operații I/O dif2.in/dif2.out
Limita timp 1.5 secunde Limita memorie Total: 16 MB / Stivă 8 MB
Id soluție #7987497 Utilizator Coroian David (Coroian_David)
Fișier dif2.cpp Dimensiune 3.11 KB
Data încărcării 23 Ianuarie 2018, 09:47 Scor / rezultat 100 puncte

Evaluare


Mesaj compilare

dif2.cpp: In function 'lint getNr()':
dif2.cpp:49:20: warning: array subscript has type 'char' [-Wchar-subscripts]
     while(isDigit[c] == 0 && c != '-')

                    ^
dif2.cpp:59:20: warning: array subscript has type 'char' [-Wchar-subscripts]
     while(isDigit[c] == 1)

                    ^
dif2.cpp: In function 'void refillBuff()':
dif2.cpp:31:32: warning: ignoring return value of 'size_t fread(void*, size_t, size_t, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
     fread(buff, 1, buffSize, f);

                                ^

Rezultat evaluare

Test Timp Mesaj evaluare Scor posibil Scor obținut
0 0.008 secunde OK. 5 5
1 0.028 secunde OK. 5 5
2 0.02 secunde OK. 5 5
3 0.016 secunde OK. 5 5
4 0.016 secunde OK. 5 5
5 0.02 secunde OK. 5 5
6 0 secunde OK. 5 5
7 0 secunde OK. 5 5
8 0.048 secunde OK. 5 5
9 0.048 secunde OK. 5 5
10 0.016 secunde OK. 5 5
11 0.06 secunde OK. 5 5
12 0.052 secunde OK. 5 5
13 0.064 secunde OK. 5 5
14 0.3 secunde OK. 5 5
15 0.42 secunde OK. 5 5
16 0.26 secunde OK. 5 5
17 0.424 secunde OK. 5 5
18 0.356 secunde OK. 5 5
19 0.28 secunde OK. 5 5
Punctaj total 100

Cum funcționează evaluarea?

www.pbinfo.ro permite evaluarea a două tipuri de probleme:

  • probleme la care rezolvarea presupune scrierea unui program complet
  • probleme la care rezolvarea presupune scrierea unei secvențe de program - câteva instrucțiuni, o listă de declarații, una sau mai multe funcții, etc.

Problema Dif2 face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:

  • Programul sursă este compilat folosind compilatorul corespunzător. Dacă în urma compilării se obțin erori sau avertismente, acestea sunt afișate în această pagină.
  • Dacă programul a fost compilat, executabilul obținut va fi rulat, furnizându-i-se unul sau mai multe seturi de date de intrare, în concordanță cu restricțiile specifice problemei. Pentru fiecare set de date se obține un anumit punctaj, în raport cu corectitudinea soluției tale.

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ă.