Detalii evaluare #57408100

Rezumat problemă

Se dă un șir de N numere întregi. Pentru fiecare subșir nevid al șirului dat se consideră valoarea întreagă D egală cu diferența dintre elementul maxim și cel minim aflat în subșir. Să se afle suma valorilor D ale tuturor subșirurilor nevide, mai mici sau egale decât un număr întreg T dat modulo \( {10}^{9} + 7 \).

Detalii

Problema sum_max_min Operații I/O tastatură/ecran
Limita timp 0.25 secunde Limita memorie Total: 32 MB / Stivă 4 MB
Id soluție #57408100 Utilizator Razvan Dedu (razv)
Fișier sum_max_min.cpp Dimensiune 1.07 KB
Data încărcării 29 Martie 2025, 19:53 Scor / rezultat Eroare de compilare

Evaluare

Mesaj compilare

sum_max_min.cpp:11:17: error: 'int exp [1000002]' redeclared as different kind of symbol
 int exp[MAXN + 1];

                 ^
In file included from /usr/include/features.h:374:0,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/os_defines.h:39,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/c++config.h:426,
                 from /usr/include/c++/4.8/utility:68,
                 from /usr/include/c++/4.8/algorithm:60,
                 from sum_max_min.cpp:1:
/usr/include/i386-linux-gnu/bits/mathcalls.h:100:1: error: previous declaration of 'double exp(double)'
 __MATHCALL (exp,, (_Mdouble_ __x));
 ^
sum_max_min.cpp: In function 'int main()':
sum_max_min.cpp:19:8: warning: pointer to a function used in arithmetic [-Wpointer-arith]
   exp[1] = exp[0] = 1;

        ^
sum_max_min.cpp:19:17: warning: pointer to a function used in arithmetic [-Wpointer-arith]
   exp[1] = exp[0] = 1;

                 ^
sum_max_min.cpp:19:19: error: assignment of function 'double exp(double)'
   exp[1] = exp[0] = 1;

                   ^
sum_max_min.cpp:19:19: error: cannot convert 'int' to 'double(double)throw ()' in assignment
sum_max_min.cpp:21:10: warning: pointer to a function used in arithmetic [-Wpointer-arith]
     exp[i] = exp[i - 1] * 2 % MOD;

          ^
sum_max_min.cpp:21:23: warning: pointer to a function used in arithmetic [-Wpointer-arith]
     exp[i] = exp[i - 1] * 2 % MOD;

                       ^
sum_max_min.cpp:21:23: warning: pointer to a function used in arithmetic [-Wpointer-arith]
sum_max_min.cpp:21:27: error: invalid operands of types 'double(double)throw ()' and 'int' to binary 'operator*'
     exp[i] = exp[i - 1] * 2 % MOD;

                           ^
sum_max_min.cpp:36:50: warning: pointer to a function used in arithmetic [-Wpointer-arith]
     total = ((ll)total + (ll)v[i] * (exp[exponent]) % MOD);

                                                  ^
sum_max_min.cpp:36:51: error: invalid operands of types 'll {aka long long int}' and 'double(double)throw ()' to binary 'operator*'
     total = ((ll)total + (ll)v[i] * (exp[exponent]) % MOD);

                                                   ^
sum_max_min.cpp:49:50: warning: pointer to a function used in arithmetic [-Wpointer-arith]
     total = ((ll)total - (ll)v[i] * (exp[exponent]) + MOD) % MOD;

                                                  ^
sum_max_min.cpp:49:51: error: invalid operands of types 'll {aka long long int}' and 'double(double)throw ()' to binary 'operator*'
     total = ((ll)total - (ll)v[i] * (exp[exponent]) + MOD) % MOD;

                                                   ^
sum_max_min.cpp:14:33: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
   freopen("file.in", "r", stdin);

                                 ^
sum_max_min.cpp:15:24: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d%d", &n, &t);

                        ^
sum_max_min.cpp:17:23: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d", &v[i]);

                       ^

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 sum_max_min 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!