Հավասարեցում մեծագույնին

Տրված են երկու զանգվածներ՝ և , որոնք ունեն երկարություն, և որոնց տարրերը դրական ամբողջ թվեր են։ Ձեր նպատակն է զանգվածը վերափոխել զանգված SetMax գործողության հաջորդական կիրառմամբ։

SetMax(L, R) գործողությունը՝

միջակայքի համար, էլեմենտները դարձնում է հավասար դրանցից առավելագույնին՝ ։

Գրեք ծրագիրը, որը գտնում է SetMax գործողությունների այնպիսի հաջորդականություն, որը -ն վերածում է -ի, կամ արտածում է “-1, եթե նման հաջորդականություն գոյություն չունի։

Գործողությունների հաջորդականությունը չպետք է պարունակի ավելի քան գործողություն։ Գործողությունների քանակը մինիմիզացնել պարտադիր չէ։

Կարելի է ապացուցել, որ եթե հնարավոր է զանգվածը վերածել SetMax գործողությունների օգնությամբ, ապա դա հնարավոր է անել առավելագույնը գործողությունների միջոցով։

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

Առաջին տողում տրված է () թիվը։ Երկրորդ տողում տրված են հատ ամբողջ դրական թվեր՝ զանգվածի տարրերը (բաժանված բացատներով)։ Երրորդ տողում տրված են՝ ամբողջ դրական թվեր՝ զանգված ի տարրերը (բաժանված բացատներով)։ Այդ բոլոր թվերը գտնվում են -ից սահմաններում։

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

  • Առաջին տողում ծրագիրը պետք է արտածի ամբողջ դրական թիվ ՝ գտնված գործողությունների հաջորդականության երկարությունը կամ “-1”, եթե -ն հնարավոր չէ վերածել -ի։

  • Եթե -ն հնարավոր է վերափոխել -ի, ապա հաջորդ տողերում պետք է արտածել երկու ամբողջ թվեր և , որոնք համապատասխանում են i-րդ SetMax(L, R) գործողության և պարամետրերին։

Օրինակներ

Մուտք

ելք

Պարզաբանում

5
2 4 3 2 1
4 4 4 3 2

3
3 4
2 3
0 2

2 4 3 2 1 ->
2 4 3 2 2 ->
2 4 3 3 2 ->
4 4 4 3 2

5
2 4 3 2 1
3 4 4 3 2

-1

Հնարավոր չէ A-ն
վերափոխել B-ի

Ենթախնդիրներ

Համար

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

Միավոր

0

Օրինակները

0

1

31

2

-ն և -ն բաղկացած են միայն և թվանշաններից

11

3

Լրացուցիչ սահմանափակումներ չկան

58

Constraints

Time limit: 1 seconds

Memory limit: 512 MB

Output limit: 5 MB

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