#4817
Fie a = (a[1], a[2], ..., a[n])
un șir de n
numere întregi. Pentru fiecare k ∈ {1,2, ...,n}
, definim min[k] = min{a[1], a[2], ... ,a[k]}
și max[k] = max{a[1], a[2], ...,a[k]}
. Astfel, asociem șirului a
un alt șir de intervale închise minmax = ([min[1], max[1]], [min[2], max[2]], ..., [min[n], max[n]])
. Vom spune că șirul a
este un șir cromatic dacă și numai dacă elementele șirului minmax
sunt distincte două câte două, adică nu există două intervale identice în șir. Dându-se un șir a
, nu neapărat cromatic, să se determine:
NSC
ce se pot forma prin rearanjarea elementelor șirului a
. Întrucât acest număr poate fi foarte mare, se cere NSC
modulo 1.000.000.007
.a
este cromatic, să se determine poziția p ∈ {1, 2, ..., NSC}
a șirului a
în lista ordonată lexicografic a tuturor permutărilor cromatice ale lui a
.q ∈ {1, 2, ..., NSC}
, să se determine cel de-al q
-lea șir cromatic în ordine lexicografică ce se poate obține prin rearanjarea elementelor șirului a
.Problema | cromatic | Operații I/O |
![]() cromatic.in /cromatic.out
|
---|---|---|---|
Limita timp | 1.5 secunde | Limita memorie |
Total: 256 MB
/
Stivă 64 MB
|
Id soluție | #57706789 | Utilizator | |
Fișier | cromatic.cpp | Dimensiune | 3.92 KB |
Data încărcării | 11 Aprilie 2025, 10:52 | Scor / rezultat | Eroare de compilare |
cromatic.cpp:46:22: warning: missing terminating " character [enabled by default] fout << 0 << " ^ cromatic.cpp:46:9: error: missing terminating " character fout << 0 << " ^ cromatic.cpp:47:1: warning: missing terminating " character [enabled by default] "; ^ cromatic.cpp:47:1: error: missing terminating " character cromatic.cpp:64:32: warning: missing terminating " character [enabled by default] fout << pos << " ^ cromatic.cpp:64:17: error: missing terminating " character fout << pos << " ^ cromatic.cpp:65:1: warning: missing terminating " character [enabled by default] "; ^ cromatic.cpp:65:1: error: missing terminating " character cromatic.cpp:90:30: warning: missing terminating " character [enabled by default] if (!found) fout << 0 << " ^ cromatic.cpp:90:5: error: missing terminating " character if (!found) fout << 0 << " ^ cromatic.cpp:91:1: warning: missing terminating " character [enabled by default] "; ^ cromatic.cpp:91:1: error: missing terminating " character cromatic.cpp: In function 'void solve_c2()': cromatic.cpp:48:9: error: expected primary-expression before 'return' return; ^ cromatic.cpp:48:9: error: expected ';' before 'return' cromatic.cpp: In lambda function: cromatic.cpp:66:23: error: no match for 'operator=' (operand types are 'std::basic_ostream<char>::__ostream_type {aka std::basic_ostream<char>}' and 'bool') found = true; ^ cromatic.cpp:66:23: note: candidate is: In file included from /usr/include/c++/4.8/istream:39:0, from /usr/include/c++/4.8/sstream:38, from /usr/include/c++/4.8/complex:45, from /usr/include/c++/4.8/ccomplex:38, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:52, from cromatic.cpp:1: /usr/include/c++/4.8/ostream:58:11: note: std::basic_ostream<char>& std::basic_ostream<char>::operator=(const std::basic_ostream<char>&) <deleted> class basic_ostream : virtual public basic_ios<_CharT, _Traits> ^ /usr/include/c++/4.8/ostream:58:11: note: no known conversion for argument 1 from 'bool' to 'const std::basic_ostream<char>&' cromatic.cpp: In function 'void solve_c2()': cromatic.cpp:92:1: error: expected primary-expression before '}' token } ^ cromatic.cpp:92:1: error: expected ';' before '}' token cromatic.cpp: At global scope: cromatic.cpp:95:9: error: expected constructor, destructor, or type conversion before '(' token sort(perm.begin(), perm.end()); ^ cromatic.cpp:97:5: error: expected unqualified-id before 'do' do { ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema cromatic 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ă.