#3876
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 \).
Problema | sum_max_min | Operații I/O |
![]() |
---|---|---|---|
Limita timp | 0.25 secunde | Limita memorie |
Total: 32 MB
/
Stivă 4 MB
|
Id soluție | #57408100 | Utilizator | |
Fișier | sum_max_min.cpp | Dimensiune | 1.07 KB |
Data încărcării | 29 Martie 2025, 19:53 | Scor / rezultat | Eroare de 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]); ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema sum_max_min 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ă.