一瞬たりない水の問題の前に行って髪のために考えられており、重要性は今はロスの谷についての黄色のタイトルはああ~~~の集合体よりなる場合、素晴らしいではありません
Pパーティーdalao問題への羅区のソリューションは、私は初心者こんにゃく良いパニックああとして参照、プライオリティキューではありません。。。
半分プラスバブルと、この問題(あなたが右読みますが、ソート時間とアウト)
K、kの第1の2値判定値は、操作を繰り返して、二部を続行し、これは不可能であるか否かを判断します
コードの詳細説明を見て:
1つの#include <cmath> 2の#include <cstdioを> 3の#include <入出力ストリーム> 。4の#include <CStringの> 5の#include <アルゴリズム> 6。 使用した 名前空間STD; 7 int型N-、TMAX、T、L、R&LT; 8 int型 A [ 10005 ]、B [ 10005 ]; // 変数はあまり導入しない、我々は、ルックアップ 9 INT集(int型 K){ // 関数、kは現在の実行可能性を判断する 10 のために(int型私は= 1 ; Iは= Kを< ; I ++は){ 11 B [I] = A [I]、 12であります} // 最初のk牛ソート(1 + B、Bの+ + K 1); // ソート、現在の配列が不規則であるため、ソート使用するため 13は、 14 のために(INT I = k個の+ 1 ; I <= N; ++ I ){ 15 IF(B [K]> Tmaxは)戻り TMAX +を1。 ; // 現在のループ終了する超えた場合に 16 [Bを1 ] + = [I]; // 向きマイナス思考の最小値であります時間が、必ずしもそれを行う必要はありません 17 用(int型 J = 2 ; J <= K; J ++){ // ソートの伝説とステージ上のバブルアップ本当にここ~~~残業は、しようとする自分自身を信じていない 18 IF(B [J]> = B [J- 1 ]){ // もし既に適所に、ループ終了 19 BREAK ; 20である } 21は、 INT X = B [J]; // そうでない場合、スイッチ 22が B [J] = B [J- 1 ]; 23である B [J- 1 ] = ; X 24 } 25 } 26が 戻り B [Kを]; //は、最大時間を返し 27 } 28 INT メイン(){ 29 freopenは(" cowdance.in "、" R&LT " ;、STDIN) 30 freopenは(" cowdance.out "、" W "、STDOUT); // 私はメインサイトUSACOがリストに加えられたときにオンされた処理2つの無意味語 31は scanfの(" %のDの%のD "、およびN-、&; TMAX) 32 のための(INT I = 1 ; I <= N; I ++は){ 33である (scanfの" %のD "、+ I); 34である } // = L読み出し1、R&LT = N-; // 二分製剤( -一二〇から三4、二千二百三十から四) 35 36 ながら(L <R&LT){ // 半分が開始実行右場合)に(等しい未満左 37 38である INT MID =(L + R&LT)/ 2 ; //中間値 39 IF(シュウ(MID)> TMAX)+ L = MID 1。 ; // kはこの要件を満たしていない場合には、kの値が増加する 40 他の R&LT半ば= 1 ; // 逆に収縮 41である } 42である のprintfは(" D \ N-%"、L); // 出力 43は、 戻り 0 ; 44です }
あなたはCtrl + C CtrlキーV場合ねえ~~~、そして、あなたは非常に不思議な現象があります:私のプログラムは、ACことはできません!!!
コメントをよく見て、私はあなたがああ~~~の外に変更することができると信じて
喜喜それについての新しいブログを奨励します!!!