Բիթային AND և OR

Էդուարդը և Էլիզան սիրում են միասին հաղթահարել կամայական ինտելեկտուալ խաղ և այսօր նրանց առաջադրվել է հետևյալ խնդիրը.
Շրջանաձև կանգնած են n մարդիկ, որոնցից յուրաքանչյուրը ունի գիտելիքի աստիճան՝ : Դա նշանակում է, որ -ի ձախ մասում կանգնած է -ը, երբ i > 1, իսկ -ի ձախ մասում -ը, -ի աջ մասում կանգնած է -ը, երբ i < n, իսկ -ի աջ մասում կանգնած է -ը:
Էդուարդին և Էլիզային անհրաժեշտ է մարդկանց բաժանել k անընդհատ խմբերի այնպես, որ ամեն մարդ լինի ճիշտ մի խմբում, բոլոր մարդիկ մասնակցեն և այդ բաժանման հզորությունը լինի մաքսիմալ: Բաժանման հզորությունը հավասար է խմբերի հզորությունների բիթային AND-ին, իսկ խմբի հզորությունը հավասար է խմբում մարդկանց գիտելիքների աստիճանի բիթային OR-ին:
Էդուարդը և Էլիզան իրար շատ լավ են հասկանում և այս խնդիրը լուծեցին շատ արագ, հերթը ձերն է:

Մուտքային տվյալներ

Առաջին տողում տրված են n-ը և k-ն: Երկրորդ տողում տրված են մարդկանց գիտելիքների աստիճանները (0 ≤ Ai < ):

Ելքային տվյալներ

Բաժանման առավելագույն հզորությունը:

Սահմանափակումներ

  • Թեստերի առաջին խմբի համար 1 ≤ k ≤ n ≤ 1000։
  • Թեստերի երկրորդ խմբի համար 1 ≤ k ≤ n ≤ 500 000։

Օրինակներ

Մուտք.
Ելք.
4 2 2 3 4 1
3
6 3 2 2 2 4 4 4
4
Աղբյուրը. Մարզային 2020
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue