FAFU OJ 乙個簡單的問題

2021-08-02 15:38:10 字數 1013 閱讀 2934

乙個簡單的問題

time limit:

1000ms

memory limit:

65536kb

total submissions:

1386

accepted:

240

share

description:

給定n個正整數和乙個正整數p,要求你從中找出兩個數字a,b使得a + b = p;

input:

第一行兩個數字n,p(n<=10^5;p,n個整數<2^32);第二行n個數字

output:

若能找到這兩個數字輸出yes,否則輸出no.

sample input:

3 3

1 2 3

4 21 3 2 1

1 5 5

sample output:

yes

yes no

source:

#include#include#includeusing namespace std;

long long p;

long long num[100005];

int main(void)

n = i; //n為除去丟棄後剩餘的數字個數

sort(num,num+n);

for(i=0,j=n-1; ip) j--; //大於p說明最右邊太大,取小一點,左移

else if(num[i]+num[j] < p) i++; //小於p說明最左邊太小,取大一點,右移

else //相等,找到了

}if(flag) printf("yes\n");

else printf("no\n");

i = flag = 0;

memset(num,0,sizeof(num));

}return 0;

}

問題 A 乙個簡單的整數問題

問題 a 乙個簡單的整數問題 時間限制 5 sec 記憶體限制 128 mb 提交 75 解決 25 提交 狀態 討論版 命題人 quanxing edit testdata 題目描述 你有 n個整數,a1,a2,an。你需要處理兩種操作。一種操作是在給定間隔中為每個數字新增一些給定數字。另一種是要...

乙個簡單的怪問題

乙個學員問了乙個關於io的怪問題,問題是這樣的 讀取鍵盤輸入的乙個字元,然後列印輸出這個字元,在列印字元的前面和後面分別加了乙個字串,程式的 如下 public class test 編譯並執行這個程式。1 輸入字元 a 命令列視窗列印輸出的結果如圖1所示,與我們預期的一樣。2 重新執行這個程式,直...

乙個簡單的怪問題

乙個學員問了乙個關於io的怪問題,問題是這樣的 讀取鍵盤輸入的乙個字元,然後列印輸出這個字元,在列印字元的前面和後面分別加了乙個字串,程式的 如下 public class test 編譯並執行這個程式。1 輸入字元 a 命令列視窗列印輸出的結果如圖1所示,與我們預期的一樣。2 重新執行這個程式,直...