#694
sam
Aranjăm primele N
numere naturale nenule sub forma unui șir A[1], A[2], ..., A[N]
.
Fie X[1], X[2],...,X[K] (K ≥ 3)
, un subșir al șirului A
. Numim extrem local al subșirului X
termenul din mijlocul unei secvențe de lungime trei din subșir, X[i-1], X[i], X[i+1]
, cu proprietatea: X[i-1]<X[i]>X[i+1], 1<i<K
sau X[i-1]>X[i]<X[i+1], 1<i<K
.
Vom nota cu nrex(X)
numărul de extreme locale ale subșirului X
.
Spunem că un subșir X[1], X[2],...,X[K] (K≥2)
al șirului A
este subșir alternant dacă nrex(X)=K-2
, adică exceptând primul și ultimul termen din subșir toți ceilalți termeni sunt extreme locale ale subșirului X
.
Dintre toate subșirurile alternante ale șirului A
ne interesează cele de lungime maximă pe care le vom numi subșiruri alternante maximale.
Cunoscând N
și tabloul A
se cere să se determine restul obținut la împărțirea dintre numărul M
al subșirurilor alternante maximale ale tabloului A
și numărul 1000003
.
Problema | sam | Operații I/O |
sam.in /sam.out
|
---|---|---|---|
Limita timp | 0.5 secunde | Limita memorie |
Total: 32 MB
/
Stivă 32 MB
|
Id soluție | #34913524 | Utilizator | |
Fișier | sam.cpp | Dimensiune | 1.30 KB |
Data încărcării | 17 Februarie 2022, 21:30 | Scor / rezultat | Eroare de compilare |
sam.cpp: In member function 'node node::operator+(const node&) const': sam.cpp:20:79: error: no matching function for call to 'node::node(<brace-enclosed initializer list>)' ct(sum < x.sum? x.freq : (sum == x.sum? freq + x.freq : freq))}; ^ sam.cpp:20:79: note: candidates are: sam.cpp:16:8: note: constexpr node::node() struct node { ^ sam.cpp:16:8: note: candidate expects 0 arguments, 2 provided sam.cpp:16:8: note: constexpr node::node(const node&) sam.cpp:16:8: note: candidate expects 1 argument, 2 provided sam.cpp:16:8: note: constexpr node::node(node&&) sam.cpp:16:8: note: candidate expects 1 argument, 2 provided sam.cpp:21:3: warning: control reaches end of non-void function [-Wreturn-type] } ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema sam 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ă.