#3709
tri
Se citește un număr n
și apoi n
numere naturale. Numim secvență un grup de elemente aflate pe poziții consecutive în șirul citit. Numim tri-secvență o secvență care începe cu un element impar, se termină cu un element impar și care mai conține în interior exact un element impar. Astfel, fiecare tri-secvență include două secvențe maximale formate doar din elemente pare (eventual, fiecare dintre cele două poate fi vidă). Dezechilibrul unei tri-secvențe se calculează astfel: determinăm suma elementelor din secvența din stânga formată doar din elemente pare, suma elementelor din secvența din dreapta formată doar din elemente pare și apoi diferența în modul a celor două valori (adică scădem din cea mare pe cea mică). Dacă vreuna dintre cele două secvențe de elemente pare este vidă, aceasta se consideră de sumă 0
. Această diferență reprezintă dezechilibrul tri-secvenței. Să se determine o tri-secvența de dezechilibru minim. Dacă sunt mai multe astfel de tri-secvențe, să se determine cea care începe la o poziție cât mai mare.
Concursul Național Info Pro, Etapa IV
Problema | tri | Operații I/O |
tri.in /tri.out
|
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 128 MB
/
Stivă 8 MB
|
Id soluție | #47121586 | Utilizator | |
Fișier | tri.cpp | Dimensiune | 614 B |
Data încărcării | 04 Decembrie 2023, 10:14 | Scor / rezultat | Eroare de compilare |
tri.cpp: In function 'int main()': tri.cpp:25:30: error: no matching function for call to 'abs()' int rc = abs() ^ tri.cpp:25:30: note: candidates are: In file included from /usr/include/c++/4.8/cstdlib:72:0, from /usr/include/c++/4.8/ext/string_conversions.h:41, from /usr/include/c++/4.8/bits/basic_string.h:2815, from /usr/include/c++/4.8/string:52, from /usr/include/c++/4.8/bits/locale_classes.h:40, from /usr/include/c++/4.8/bits/ios_base.h:41, from /usr/include/c++/4.8/ios:42, from /usr/include/c++/4.8/istream:38, from /usr/include/c++/4.8/fstream:38, from tri.cpp:1: /usr/include/stdlib.h:775:12: note: int abs(int) extern int abs (int __x) __THROW __attribute__ ((__const__)) __wur; ^ /usr/include/stdlib.h:775:12: note: candidate expects 1 argument, 0 provided In file included from /usr/include/c++/4.8/ext/string_conversions.h:41:0, from /usr/include/c++/4.8/bits/basic_string.h:2815, from /usr/include/c++/4.8/string:52, from /usr/include/c++/4.8/bits/locale_classes.h:40, from /usr/include/c++/4.8/bits/ios_base.h:41, from /usr/include/c++/4.8/ios:42, from /usr/include/c++/4.8/istream:38, from /usr/include/c++/4.8/fstream:38, from tri.cpp:1: /usr/include/c++/4.8/cstdlib:174:3: note: long long int std::abs(long long int) abs(long long __x) { return __builtin_llabs (__x); } ^ /usr/include/c++/4.8/cstdlib:174:3: note: candidate expects 1 argument, 0 provided /usr/include/c++/4.8/cstdlib:166:3: note: long int std::abs(long int) abs(long __i) { return __builtin_labs(__i); } ^ /usr/include/c++/4.8/cstdlib:166:3: note: candidate expects 1 argument, 0 provided tri.cpp:26:13: error: expected ',' or ';' before '}' token } ^ tri.cpp:23:21: warning: unused variable 's1' [-Wunused-variable] int s1 = a[pv-1] - a[pv2]; ^ tri.cpp:24:21: warning: unused variable 's2' [-Wunused-variable] int s2 = a[i-1] - a[pv]; ^ tri.cpp:25:21: warning: unused variable 'rc' [-Wunused-variable] int rc = abs() ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema tri 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ă.