#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 | #50534071 | Utilizator | |
Fișier | ksecv.cpp | Dimensiune | 2.16 KB |
Data încărcării | 13 Aprilie 2024, 17:47 | Scor / rezultat | Eroare de compilare |
ksecv.cpp: In function 'int incearca(long long int)': ksecv.cpp:27:17: warning: unused variable 'mi' [-Wunused-variable] int mi=min( mn,bucketMn[aux] ); ^ ksecv.cpp:28:17: warning: unused variable 'ma' [-Wunused-variable] int ma=max( mx,bucketMx[aux] ); ^ ksecv.cpp:30:38: error: 'ma' was not declared in this scope if( (i-1)%bucketSize==0 and (ma-mi+1)/2 <= med and i+bucketSize<=n ) ^ ksecv.cpp:30:41: error: 'mi' was not declared in this scope if( (i-1)%bucketSize==0 and (ma-mi+1)/2 <= med and i+bucketSize<=n ) ^ ksecv.cpp:38:17: error: redeclaration of 'int mi' int mi=min( mn,v[i] ); ^ ksecv.cpp:30:41: error: '<typeprefixerror>mi' previously declared here if( (i-1)%bucketSize==0 and (ma-mi+1)/2 <= med and i+bucketSize<=n ) ^ ksecv.cpp:39:17: error: redeclaration of 'int ma' int ma=max( mx,v[i] ); ^ ksecv.cpp:30:38: error: '<typeprefixerror>ma' previously declared here if( (i-1)%bucketSize==0 and (ma-mi+1)/2 <= med and i+bucketSize<=n ) ^
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ă.