乙個簡單的問題
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 重新執行這個程式,直...