Ուղարկել | Բոլոր լուծումները | Լավագույն լուծումները | Վերադառնալ ցուցակին |
BITANDOR2 - Բիթային AND և OR 2 |
Էդուարդը և Էլիզան սիրում են միասին հաղթահարել կամայական ինտելեկտուալ խաղ և այսօր նրանց առաջադրվել է հետևյալ խնդիրը.
Շրջանաձև կանգնած են n մարդիկ, որոնցից յուրաքանչյուրը ունի գիտելիքի աստիճան՝ A1, A2, A3, . . ., An: Դա նշանակում է, որ Ai-ի ձախ մասում կանգնած է Ai-1-ը, երբ i > 1, իսկ A1-ի ձախ մասում An-ը, Ai-ի աջ մասում կանգնած է Ai+1-ը, երբ i < n, իսկ An-ի աջ մասում կանգնած է A1-ը:
Էդուարդին և Էլիզային անհրաժեշտ է մարդկանց բաժանել k անընդհատ խմբերի այնպես, որ ամեն մարդ լինի ճիշտ մի խմբում, բոլոր մարդիկ մասնակցեն և այդ բաժանման հզորությունը լինի մաքսիմալ: Բաժանման հզորությունը հավասար է խմբերի հզորությունների բիթային AND-ին, իսկ խմբի հզորությունը հավասար է խմբում մարդկանց գիտելիքների աստիճանի բիթային OR-ին:
Էդուարդը և Էլիզան իրար շատ լավ են հասկանում և այս խնդիրը լուծեցին շատ արագ, հերթը ձերն է:
Մուտքային տվյալներ
Առաջին տողում տրված են n-ը և k-ն, 1 ≤ k ≤ n ≤ 500 000: Երկրորդ տողում տրված են մարդկանց գիտելիքների աստիճանները (0 ≤ Ai < 230):
Ելքային տվյալներ
Բաժանման առավելագույն հզորությունը:
Օրինակներ
Մուտք.
4 2
2 3 4 1
Ելք.
3
Մուտք.
6 3
2 2 2 4 4 4
Ելք.
4
Ավելացրեց. | Andreasyan |
Ամսաթիվ. | 2020-02-01 |
Ժամանակի սահմանափակումը. | 2s |
Ծրագրի տեքստի սահմանափակումը. | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Լեզուներ. | C CSHARP C++ 4.3.2 CPP CPP14 JAVA PAS-GPC PAS-FPC PYTHON3 |
Աղբյուրը. | Մարզային 2020 |