#1203
KSecv
Fie un vector V
cu N
elemente și un număr K
. Vectorul V
trebuie împărțit în exact K
subsecvențe nevide, astfel încât fiecare element din vector să aparțină exact unei subsecvențe. Această împărțire trebuie făcută astfel încât maximul șmecheriei fiecărei subsecvențe să fie cât mai mic. (Această problemă concepe greșit sistemul de șmecherie și valoare). Șmecheria fiecărei subsecvențe se definește ca fiind parte întreagă din ((Vmax – Vmin + 1) / 2)
, unde Vmax
este valoarea maximă din subsecvență, iar Vmin
este valoarea minimă.
Vectorul V
de N
elemente va fi generat în felul următor: se dă un număr M
și 2
vectori A
și B
de lungime M
(indexați de la 0
la M - 1
). Fiecare element i
, 0 ≤ i < N
, din vectorul V
va fi calculat cu următoarea formulă: V[i] = (A[i % M] ^ B[i / M])
, unde x % y
reprezintă restul lui x
la împărțirea cu y
, x / y
reprezintă câtul împărțirii lui x
la y
și x ^ y
reprezintă rezultatul operației xor
(sau exclusiv pe biți) dintre x
și y
.
ONI 2015, Clasele XI-XII
Problema | KSecv | Operații I/O |
ksecv.in /ksecv.out
|
---|---|---|---|
Limita timp | 0.2 secunde | Limita memorie |
Total: 128 MB
/
Stivă 16 MB
|
Id soluție | #50602257 | Utilizator | |
Fișier | ksecv.cpp | Dimensiune | 2.53 KB |
Data încărcării | 16 Aprilie 2024, 19:46 | Scor / rezultat | 40 puncte |
ksecv.cpp: In function 'bool valid(long long int)': ksecv.cpp:55:17: warning: unused variable 'ap' [-Wunused-variable] int ct = 0, ap = 0; ^ ksecv.cpp:72:20: warning: 'ans' may be used uninitialized in this function [-Wmaybe-uninitialized] i = ans + 1; ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
0 | 0 secunde | OK. | 10 | 10 | ||
1 | 0 secunde | OK. | 10 | 10 | ||
2 | Depășit | Limita de timp depășită | 10 | 0 | ||
3 | Depășit | Limita de timp depășită | 10 | 0 | ||
4 | 0.088 secunde | OK. | 10 | 10 | ||
5 | 0.084 secunde | OK. | 10 | 10 | ||
6 | Depășit | Limita de timp depășită | 10 | 0 | ||
7 | Depășit | Limita de timp depășită | 10 | 0 | ||
8 | Depășit | Limita de timp depășită | 10 | 0 | ||
9 | Depășit | Limita de timp depășită | 10 | 0 | ||
Punctaj total | 40 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema KSecv 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ă.