#694
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ă.