Detalii evaluare #50667960

Rezumat problemă

#4462 ashima

Se dă un șir A, ale cărui elemente sunt definite prin relația \( {A}_{i} = {i}^{k} \cdot {2}^{i} \) pentru orice 1 ≤ i, unde K este un număr natural dat. Elementele acestui șir se așează într-o matrice M, formată din L linii și C coloane. Ashima vă cere să răspundeți la Q cerințe de forma: \(l_1\ l_2\ c_1\ c_2\) : care este suma elementelor \(M_{i,j}\) din matricea M astfel încât \(l_1 \leq i\leq l_2\) și \( c_1 \leq j \leq c_2\)?

Detalii

Problema ashima Operații I/O ashima.in/ashima.out
Limita timp 1 secunde Limita memorie Total: 256 MB / Stivă 64 MB
Id soluție #50667960 Utilizator Pisla Daniel Andrei (PislaAndreiDaniel)
Fișier ashima.cpp Dimensiune 3.78 KB
Data încărcării 19 Aprilie 2024, 12:58 Scor / rezultat Eroare de compilare

Evaluare


Mesaj compilare

ashima.cpp:10:9: error: expected unqualified-id before '__int128'
 typedef __int128 i128;

         ^
ashima.cpp:52:24: error: 'i128' has not been declared
 int sum_i_k_2_i(int k, i128 n) {

                        ^
ashima.cpp: In function 'int sum_i_k_2_i(int, int)':
ashima.cpp:53:3: error: 'i128' was not declared in this scope
   i128 polynomial = 0;

   ^
ashima.cpp:53:8: error: expected ';' before 'polynomial'
   i128 polynomial = 0;

        ^
ashima.cpp:58:7: error: 'polynomial' was not declared in this scope
       polynomial = ((n - 3) * n + 9) * n - 13;

       ^
ashima.cpp:75:3: error: 'polynomial' was not declared in this scope
   polynomial %= MOD;

   ^
ashima.cpp: In function 'int rectangle_query(int, int, int, int)':
ashima.cpp:113:3: error: 'i128' was not declared in this scope
   i128 positive = 0;

   ^
ashima.cpp:113:8: error: expected ';' before 'positive'
   i128 positive = 0;

        ^
ashima.cpp:115:5: error: 'positive' was not declared in this scope
     positive += get_partial_sum_at(row1, col);

     ^
ashima.cpp:118:5: error: 'positive' was not declared in this scope
     positive += get_partial_sum_at(row, col2);

     ^
ashima.cpp:121:8: error: expected ';' before 'negative'
   i128 negative = 0;

        ^
ashima.cpp:123:5: error: 'negative' was not declared in this scope
     negative += get_partial_sum_at(row, col1 - 1);

     ^
ashima.cpp:126:5: error: 'negative' was not declared in this scope
     negative += get_partial_sum_at(row2 + 1, col);

     ^
ashima.cpp:129:12: error: 'positive' was not declared in this scope
   return ((positive % MOD) + MOD - (negative % MOD)) % MOD;

            ^
ashima.cpp:129:37: error: 'negative' was not declared in this scope
   return ((positive % MOD) + MOD - (negative % MOD)) % MOD;

                                     ^
ashima.cpp:130:1: warning: control reaches end of non-void function [-Wreturn-type]
 }

 ^
ashima.cpp: In function 'int main()':
ashima.cpp:137:55: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   fscanf(fin, "%d %d %d %d", &k, &l, &c, &num_queries);

                                                       ^
ashima.cpp:142:59: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     fscanf(fin, "%d %d %d %d", &row1, &row2, &col1, &col2);

                                                           ^

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