Ուղարկել | Բոլոր լուծումները | Լավագույն լուծումները | Վերադառնալ ցուցակին |
KHMBER - Խմբեր |
Խումբ կանվանենք թվերի այն բազմությունը, որը կազմում է ամբողջ թվերի ինտերվալ: Օրինակ {2}, {4 5}, {3 5 6 4} բազմությունները խմբեր են, իսկ {5 7 2} բազմությունը - ոչ:
Առաջին N բնական թվերը կամայական հերթականությամբ գրված են գրատախտակին: Այդ հաջորդականությունը կանվանենք տեղափոխություն: Ակնհայտ է, որ տեղափոխության յուրաքանչյուր անդամ իրենից խումբ է ներկայացնում: Մեկ գործողության ընթացքում թույլատրվում է միավորել երկու հարևան խմբեր, եթե նրանից միավորումը նորից խումբ է:
Գրեք ծրագիր, որը կպարզի - գոյություն ունի արդյոք N-1 գործողությունների հաջորդականություն, որոնց արդյունքում տրված բոլոր թվերը կհայտնվեն մեկ խմբում: Եթե այդպիսի հաջորդականություն գոյություն ունի, Ձեր ծրագիրը պետք է գտնի դրանցից մեկը:
Մուտքը
Մուտքի առաջին տողը պարունակում է N թիվը (1 ≤ N ≤ 500000): Հաջորդ տողում գրված են, իրարից մեկ բացակով բաժանված, N թվեր: Այդ թվերն իրենցից ներկայացնում են 1...N թվերի որևէ տեղափոխություն:
Ելքը
Ելքի առաջին տողը պարունակում է Yes բառը, եթե հնարավոր է տրված տեղափոխությունից ստանալ մեկ խումբ և No բառը - հակառակ դեպքում:
Եթե առաջին տողում գրված է Yes բառը, ապա հաջորդ N-1 տողերը պարունակում են երկու a և b ամբողջ թվերը, ինչը նշանակում է, որ հերթական գործողությունից հետո ստացված խմբի ամենափոքր անդամը a թիվն է, իսկ ամենամեծը b թիվն է:
Օրինակներ
Մուտքը. 6
1 4 2 5 3 6 Ելքը. No
Մուտքը.
6
6 3 2 1 4 5
Ելքը.
Yes
1 2
1 3
4 5
1 5
1 6
Ավելացրեց. | Andreasyan |
Ամսաթիվ. | 2012-04-30 |
Ժամանակի սահմանափակումը. | 1s |
Ծրագրի տեքստի սահմանափակումը. | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Լեզուներ. | C CSHARP C++ 4.3.2 CPP CPP14 JAVA PAS-GPC PAS-FPC PYTHON3 |
Աղբյուրը. | հանրապետական 2012 |