財団設計プログラムとアルゴリズム(b)は、「」第4火曜日の分「と番号4143を与えられました

4143:与えられた数の

合計時間制限: 
1000ミリ秒
 
メモリの制限: 
65536kB
説明

これは、与えられた数の数字の組と等しいがあるかどうかを尋ねる、整数の数を示します。

エントリー
合計3行:
最初の行は、Nの整数である(0 <N <= 100,000 )、 nは整数を表すがあります。
2行目は、N個の整数です。これは、0と10 ^ 8の範囲の整数です。
第三のラインは、整数m(0 <= M <=である 2 ^ 30)、 及び必要性を表明しました。
輸出
現在、mは出力二つの整数、小さな正面の数であれば、大後、単一のスペースで区切られました。複数の条件の数が満たされている場合、より小さな選択の少ない数の数。いいえ、出力ラインの対数の要件を満たしていない場合
サンプル入力
4 
2 5 1 4 
6
サンプル出力
1 5

書式#include <iostreamの> 
の#include <アルゴリズム>
 使用して 名前空間はstdを、

INT [ 100006 ]。
INTの出力[ 100006 ]。
/ * 
方法1:二分查找
* / 
BOOL FUNC(INT A []、int型の和、int型のサイズ、INTの出力[])
{ 
    int型のM、I。
    int型は右、中、左; 

    (i = 0 ; iは、サイズ< - 2 ; iは++ 
    { 
        M =和- [I]。 =私は+1 ;  =サイズ- 1 一方(左<= 右)
        { 
            ミッド = +左(右-左)/ 2 もし([中間] == M)
            { 
                出力[ 0 ] = [I]。
                出力[ 1 ] = M。
                返す ; 
            } 
            そう であれば([中間]> M)
            {  =ミッド- 1 
            }
            
            {  = MID + 1 ; 
            } 

        } 
    } 
    / * 
    逆数2バイナリ検索せずに、直接貯蓄計算のように見える追加
    * / 
    IF - ((サイズ2 + A [サイズ- ] 。1 ] )== SUM)
    { 
        出力[ 0 ] = [サイズ- 2 ]、
        [出力。1 ] [サイズ= - 1 ];
         戻り trueに; 
    } 

    戻り falseにする; 

} 
/ *  
見つける時間、2つの変数iをjは、iが初期値0であり、jは、初期値n-1であります
[I] + [Jを見ます ] 、M以上であれば、聞かせJマイナス1、M未満であれば、iは1 LETだけインクリメントされ、
まで[I] + [J ] = M
* / 
BOOL関数func2(INT []、int型の和、int型のサイズ、INTの出力[])
{ 
    int型 I = 0、J =サイズ- 1 ;
    一方(iは< j)を
    { 
        場合(([I] + [J])== 合計)
        { 
            出力[ 0 ] = [I]を、
            出力[ 1 ] = [j]を。
            返す ; 

        } 
        そう であれば(([I] + [J])> 合計)
        { 
            J - ; 
        } 
        
        { 
            私は ++ ; 
        } 
    } 
    戻り falseに; 
} 

int型のmain()
{ 
    int型のサイズ、SUM; 
    CIN >> サイズ;
     のためのINT = I 0、Iは、サイズ<; Iは++ 
    { 
        CIN >> A [I]; 
    } 
    CIN >> SUM、

    ソート(A、A +サイズ); // 昇順に入力されたデータ

    //BOOLのRES =のFUNC(和、サイズ、出力)。
     BOOLRES = 関数func2(和、サイズ、出力)。
    もし(RES == 
        COUT <<出力[ 0 ] << "  " <<出力[ 1 ] << ENDL。
    他の
        裁判所未満 << ノーリターン 0 ; 
}

 

おすすめ

転載: www.cnblogs.com/focus-z/p/11518915.html