Fişierul intrare/ieşire: | lotacm.in, lotacm.out | Sursă | ad-hoc |
Autor | Ciprian Oprisa | Adăugată de | |
Timp execuţie pe test | 0.5 sec | Limită de memorie | 16384 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Lot ACM
Universitatea Tehnică din Cluj-Napoca urmează să participe la un concurs de programare foarte important, unde trebuie să obţină rezultate cât mai bune.
Cei N studenţi care fac parte din lotul ACM trebuie împărţiţi în exact K echipe, astfel încât fiecare echipă să conţină cel puţin un student. Pentru că antrenorul lotului se grăbeşte să formeze echipele, începe prin a aranja toţi studenţii în cerc şi decide că fiecare echipă trebuie formată din studenţi aflaţi pe cerc în poziţii consecutive (pe cerc, după studentul cu numărul N urmează studentul cu numărul 1).
Antrenorul lotului cunoaşte valoarea individuală a fiecărui student, printr-un vector V, unde V[i] este valoarea individuală a studentului cu numărul i ( 1 ≤ i ≤ N ). Valoarea unei echipe este dată de rezultatul operaţiei OR pe biţi între valorile individuale ale membrilor (operatorul | în C, Java sau Python). Valoarea întregului lot este dată de rezultatul operaţiei AND pe biţi între valorile echipelor (operatorul & în C, Java sau Python).
Scrieţi un program care calculează cea mai mare valoare a lotului care se poate obţine.
Date de intrare
Fişierul de intrare lotacm.in conţine pe prima linie numărul de teste T. Fiecare test este format din două linii. Pe prima linie a fiecărui test găsim numerele N şi K, care reprezintă numărul de studenţi din lot şi numărul de echipe care trebuie formate. Pe a doua linie din fiecare test găsim N numere întregi pozitive, reprezentând valorile individuale ale fiecărui membru.
Date de ieşire
În fişierul de ieşire lotacm.out se va tipări câte o linie pentru fiecare test, conţinând valoarea maximă posibilă a lotului.
Restricţii
- 1 ≤ T ≤ 40
- 1 ≤ K ≤ N ≤ 10000
- 1 ≤ V[i] ≤ 109
Exemplu
lotacm.in | lotacm.out |
---|---|
2 6 3 2 2 2 4 4 4 4 2 2 3 4 1 | 4 3 |
Explicaţie
În primul exemplu, prima echipă ar putea fi formată din studenţii 1, 2, 3 şi 4, a doua echipă din studentul 5, iar a 3-a echipă din studentul 6. Valoarea primei echipe va fi 2 | 2 | 2 | 4 = 6, valoarea celei de-a doua echipe 4, iar valoarea celei de-a treia echipe tot 4. Valoarea lotului va fi 6 & 4 & 4 = 4.
În al doilea exemplu, prima echipă ar putea fi formată din studenţii 2 şi 3, iar a doua echipă din studenţii 4 şi 1. Valoarea lotului va fi (3 | 4) & (1 | 2) = 7 & 3 = 3.