Detalii evaluare #58731790

Rezumat problemă

#3038

Aflat într-o vizită cu părinții, Iliuță primește un bilet la tombolă pe care este scris un număr natural S. Pentru a câștiga un premiu, Iliuță trebuie să afle, plecând de la numărul S, un număr câștigător X. Pentru a-l ajuta să ghicească numărul câștigător, mama îi spune lui Iliuță că numărul S de pe biletul său este suma dintre numărul câștigător X și toate numerele obținute plecând de la numărul câștigător X, prin ștergerea cifrei unităților numărului X, apoi, succesiv, prin ștergerea cifrei unităților numărului obținut la pasul anterior, până se ajunge la un număr de o singură cifră.

Cunoscându-se numerele naturale N, S1, A, B, C, D, scrieți un program care rezolvă următoarele cerințe:
1) pentru fiecare dintre termenii șirului S1, S2, …, SN, determină cel mai mare număr natural mai mic strict decât termenul respectiv, pentru care există un număr câștigător; programul va afișa restul împărțirii sumei numerelor obținute la 1018+31;
2) pentru fiecare dintre termenii șirului S1, S2, …, SN, determină câte numere naturale mai mici sau egale cu termenul respectiv NU au număr câștigător; programul va afișa restul împărțirii sumei rezultatelor obținute la 1018+31.

ONIGIM 2019, baraj
Fișiere Pracsiu Dan (dnprx) Daniela Lica concurs

Detalii

Problema tombola Operații I/O tombola.in/tombola.out
Limita timp 1 secunde Limita memorie Total: 64 MB / Stivă 64 MB
Id soluție #58731790 Utilizator Raduta Mihail (Mihailraduta)
Fișier tombola.cpp Dimensiune 3.80 KB
Data încărcării 27 Iulie 2025, 19:10 Scor/rezultat Eroare de compilare

Evaluare

Mesaj compilare

tombola.cpp:8:16: error: expected type-specifier before '__int128_t'
 using int128 = __int128_t;

                ^
tombola.cpp:11:1: error: 'int128' does not name a type
 int128 read_128(std::ifstream& in) {

 ^
tombola.cpp:22:36: error: 'int128' has not been declared
 void print_128(std::ofstream& out, int128 n) {

                                    ^
tombola.cpp:37:1: error: 'int128' does not name a type
 int128 calculate_S(int128 x) {

 ^
tombola.cpp: In function 'void solve()':
tombola.cpp:55:5: error: 'int128' was not declared in this scope
     int128 S1 = read_128(fin);

     ^
tombola.cpp:55:12: error: expected ';' before 'S1'
     int128 S1 = read_128(fin);

            ^
tombola.cpp:57:12: error: expected ';' before 'C'
     int128 C = read_128(fin);

            ^
tombola.cpp:58:12: error: expected ';' before 'D'
     int128 D = read_128(fin);

            ^
tombola.cpp:61:12: error: expected ';' before 'N'
     int128 N = N_ll;

            ^
tombola.cpp:62:12: error: expected ';' before 'A'
     int128 A = A_ll;

            ^
tombola.cpp:63:12: error: expected ';' before 'B'
     int128 B = B_ll;

            ^
tombola.cpp:66:12: error: expected ';' before 'MOD'
     int128 MOD = 1;

            ^
tombola.cpp:68:9: error: 'MOD' was not declared in this scope
         MOD *= 10;

         ^
tombola.cpp:70:5: error: 'MOD' was not declared in this scope
     MOD += 31;

     ^
tombola.cpp:72:12: error: expected ';' before 'total_sum'
     int128 total_sum = 0;

            ^
tombola.cpp:73:12: error: expected ';' before 'current_S'
     int128 current_S = S1;

            ^
tombola.cpp:79:20: error: expected ';' before 'low'
             int128 low = 0, high = current_S, ans_X = 0;

                    ^
tombola.cpp:80:20: error: 'low' was not declared in this scope
             while (low <= high) {

                    ^
tombola.cpp:80:27: error: 'high' was not declared in this scope
             while (low <= high) {

                           ^
tombola.cpp:81:24: error: expected ';' before 'mid'
                 int128 mid = low + (high - low) / 2;

                        ^
tombola.cpp:82:21: error: 'mid' was not declared in this scope
                 if (mid == 0) { // S(0) este 0, nu ne interesează

                     ^
tombola.cpp:86:24: error: expected ';' before 's_val'
                 int128 s_val = calculate_S(mid);

                        ^
tombola.cpp:87:21: error: 's_val' was not declared in this scope
                 if (s_val < current_S) {

                     ^
tombola.cpp:87:29: error: 'current_S' was not declared in this scope
                 if (s_val < current_S) {

                             ^
tombola.cpp:88:21: error: 'ans_X' was not declared in this scope
                     ans_X = mid;

                     ^
tombola.cpp:88:29: error: 'mid' was not declared in this scope
                     ans_X = mid;

                             ^
tombola.cpp:91:28: error: 'mid' was not declared in this scope
                     high = mid - 1; // X este prea mare

                            ^
tombola.cpp:94:13: error: 'total_sum' was not declared in this scope
             total_sum = (total_sum + calculate_S(ans_X)) % MOD;

             ^
tombola.cpp:94:50: error: 'ans_X' was not declared in this scope
             total_sum = (total_sum + calculate_S(ans_X)) % MOD;

                                                  ^
tombola.cpp:94:55: error: 'calculate_S' was not declared in this scope
             total_sum = (total_sum + calculate_S(ans_X)) % MOD;

                                                       ^
tombola.cpp:100:20: error: expected ';' before 'low'
             int128 low = 0, high = current_S, ans_X = 0;

                    ^
tombola.cpp:101:20: error: 'low' was not declared in this scope
             while (low <= high) {

                    ^
tombola.cpp:101:27: error: 'high' was not declared in this scope
             while (low <= high) {

                           ^
tombola.cpp:102:24: error: expected ';' before 'mid'
                 int128 mid = low + (high - low) / 2;

                        ^
tombola.cpp:103:21: error: 'mid' was not declared in this scope
                 if (mid == 0) {

                     ^
tombola.cpp:107:24: error: expected ';' before 's_val'
                 int128 s_val = calculate_S(mid);

                        ^
tombola.cpp:108:21: error: 's_val' was not declared in this scope
                 if (s_val <= current_S) {

                     ^
tombola.cpp:108:30: error: 'current_S' was not declared in this scope
                 if (s_val <= current_S) {

                              ^
tombola.cpp:109:21: error: 'ans_X' was not declared in this scope
                     ans_X = mid;

                     ^
tombola.cpp:109:29: error: 'mid' was not declared in this scope
                     ans_X = mid;

                             ^
tombola.cpp:112:28: error: 'mid' was not declared in this scope
                     high = mid - 1; // X este prea mare

                            ^
tombola.cpp:115:20: error: expected ';' before 'count_invalid'
             int128 count_invalid = current_S - ans_X;

                    ^
tombola.cpp:116:13: error: 'total_sum' was not declared in this scope
             total_sum = (total_sum + count_invalid) % MOD;

             ^
tombola.cpp:116:38: error: 'count_invalid' was not declared in this scope
             total_sum = (total_sum + count_invalid) % MOD;

                                      ^
tombola.cpp:121:13: error: 'current_S' was not declared in this scope
             current_S = ((current_S % A) * B + C) % D;

             ^
tombola.cpp:121:39: error: 'A' was not declared in this scope
             current_S = ((current_S % A) * B + C) % D;

                                       ^
tombola.cpp:121:44: error: 'B' was not declared in this scope
             current_S = ((current_S % A) * B + C) % D;

                                            ^
tombola.cpp:121:48: error: 'C' was not declared in this scope
             current_S = ((current_S % A) * B + C) % D;

                                                ^
tombola.cpp:121:53: error: 'D' was not declared in this scope
             current_S = ((current_S % A) * B + C) % D;

                                                     ^
tombola.cpp:125:21: error: 'total_sum' was not declared in this scope
     print_128(fout, total_sum);

                     ^

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

Du-te sus!