ホームページ >ウェブフロントエンド >htmlチュートリアル >Codeforces ラウンド #258 (ディビジョン 2) B. Array_html/css_WEB-ITnose を並べ替える

Codeforces ラウンド #258 (ディビジョン 2) B. Array_html/css_WEB-ITnose を並べ替える

WBOY
WBOYオリジナル
2016-06-24 11:53:211168ブラウズ

B. 配列の並べ替え

テストごとの制限時間

1 秒

テストごとのメモリ制限

256 メガバイト

入力

標準入力

出力

標準出力

プログラマーさん、あなたは配列が大好きですね。あなたの誕生日に、友達が n 個の異なる整数で構成される配列 a をくれました。

残念ながら、a のサイズは小さすぎます。もっと大きな配列が必要です。あなたの友人は、より大きな配列を与えることに同意しますが、それはあなたが次の質問に正しく答えることができる場合に限られます: a の 1 つのセグメントだけを逆にして、配列 a を (昇順に) ソートすることは可能ですか?注のセグメントと反転の定義を参照してください。

入力

入力の最初の行には、整数 n (1?≤?n?≤?105) が含まれています。配列 a.

のサイズ

2 行目には、スペースで区切られた n 個の個別の整数が含まれています: a[1],?a[2],?...,?a[n] (1?≤?a[i]? ≤?109)。

出力

答えに応じて、「はい」または「いいえ」 (引用符なし) を出力します。

答えが「はい」の場合は、開始を示す 2 つのスペースで区切られた整数も出力します。反転するセグメントのインデックスと end (start が end より大きくてはなりません)。これらのインデックスを選択する方法が複数ある場合は、いずれかを出力します。

サンプル テスト

入力

33 2 1

出力

yes1 3

入力

42 1 3 4

出力

yes1 2

入力

43 1 2 4

出力

no

入力

21 2

出力

yes1 1

サンプル 1. 配列全体を反転して [1,?2,?3 を取得できます。 ] でソートされます。

サンプル 3. 配列がソートされるようにセグメントを反転することはできません。

定義

配列 a のセグメント [l,?r] はシーケンス a[l],?a です。 [l?+?1],?...,?a[r].

サイズ n の配列 a があり、そのセグメント [l,?r] を反転すると、配列は次のようになります:

a [1],?a[2],?...,?a[l?-?2],?a[l?-?1],?a[r],?a[r?-?1] ,?...,?a[l?+?1],?a[l],?a[r?+?1],?a[r?+?2],?...,?a[ n? - ?1]、?a [n]。

れーい



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。