Fişierul intrare/ieşire:lotacm.in, lotacm.outSursăad-hoc
AutorCiprian OprisaAdăugată decypryCiprian Oprisa cypry
Timp execuţie pe test0.5 secLimită de memorie16384 kbytes
Scorul tăuN/ADificultateN/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.inlotacm.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.

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?