時間限制: 1000 ms 記憶體限制: 65536 kb
提交數: 5245 通過數: 1838給出若干個整數,詢問其中是否有一對數的和等於給定的數。
第一行是整數n(0 < n ≤ 100,000),表示有n個整數。
第二行是n個整數。整數的範圍是在00 到108108 之間。
第三行是乙個整數m(0≤m≤230)m(0≤m≤230) ,表示需要得到的和。
若存在和為m的數對,輸出兩個整數,小的在前,大的在後,中間用單個空格隔開。若有多個數對滿足條件,選擇數對中較小的數更小的。若找不到符合要求的數對,輸出一行no。
42 5 1 4
6
1 5
no#include#define maxn 110000
using namespace std;
long long a[maxn];
long long b[maxn],n;
void mergesort(long long left,long long mid,long long right)
while(i<=mid) a[k++]=b[i++];
while(j<=right) a[k++]=b[j++];
return ;
}void merge(long long left,long long right)
else
}cout<<"no"<
1244 和為給定數 2020 12 28
1244 和為給定數 時間限制 1000 ms 記憶體限制 65536 kb 題目描述 給出若干個整數,詢問其中是否有一對數的和等於給定的數。輸入 第一行是整數n 0 n 100,000 表示有n個整數。第二行是n個整數。整數的範圍是在0到108之間。第三行是乙個整數m 0 m 230 表示需要得到...
分治 一本通1244
分治就是把一組大資料分成小資料管理,如1000可以分成1 500,501 1000分開操作。給出若干個整數,詢問其中是否有一對數的和等於給定的數。第一行是整數n 0 n 100,000 表示有n個整數。第二行是n個整數。整數的範圍是在0 0 0到10 8 108 108之間。第三行是乙個整數m 0 ...
和為給定數
總時間限制 1000ms 記憶體限制 65536kb 描述給出若干個整數,詢問其中是否有一對數的和等於給定的數。輸入共三行 第一行是整數n 0 n 100,000 表示有n個整數。第二行是n個整數。整數的範圍是在0到10 8之間。第三行是乙個整數m 0 m 2 30 表示需要得到的和。輸出若存在和為...