Թաքցված խնդիր
|Այս խնդիրը թաքցված է խմբագրական խրհրդի անդամի կողմից քանի որ կամ այն ոչ ճիշտ լեզվով է գրված,|կամ թեստային տվյալներն են սխալ, կամ խնդրի ձևակերպումը պարզ չէ։|

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

© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.