鏈結
出題是一件痛苦的事情!
相同的題目看多了也會有審美疲勞,於是我捨棄了大家所熟悉的 a+b problem,改用 a-b 了哈哈!
好吧,題目是這樣的:給出一串數以及乙個數字 c
cc,要求計算出所有 a−b
=c
a - b = c
a−b=
c的數對的個數(不同位置的數字一樣的數對算不同的數對)。
輸入共兩行。
第一行,兩個整數 n,c
n, c
n,c。
第二行,n
nn 個整數,作為要求處理的那串數。
一行,表示該串數中包含的滿足 a−b
=c
a - b = c
a−b=
c 的數對的個數。
輸入 #1
4 1
1 1 2 3
輸出 #1
3
對於 75
%75\%
75% 的資料,1≤n
≤2000
1 \leq n \leq 2000
1≤n≤20
00。對於 100
%100\%
100%
的資料,1≤n
≤2×1
05
1 \leq n \leq 2 \times 10^5
1≤n≤2×
105。
保證所有輸入資料都在 32
3232
位帶符號整數範圍內。
2017/4/29 新添資料兩組
使用map找出記錄,相同的數,並在之後相乘
#include
#include
#include
#include
using
namespace std;
typedef
long
long ll;
const
int n =
2e5;
int n, c;
int a[n +5]
;ll ans;
map<
int,
int> mp;
intmain()
sort
(a, a + n)
;for
(int i = n -
1; i >
1; i--)if
(mp[a[i]
]&& mp[a[i]
- c]
)printf
("%lld\n"
, ans)
;return0;
}
使用upper_bound
和lower_bound
找出相同數字的個數。
#include
#include
#include
using
namespace std;
typedef
long
long ll;
const
int n =
2e5;
ll n, c;
ll a[n +5]
;ll ans;
intmain()
printf
("%lld\n"
, ans)
;return0;
}
洛谷 P1102 A B數對 題解
出題是一件痛苦的事情!題目看多了也有審美疲勞,於是我捨棄了大家所熟悉的 a b problem,改用 a b 了哈哈!好吧,題目是這樣的 給出一串數以及乙個數字 c,要求計算出所有 a b c 的數對的個數。不同位置的數字一樣的數對算不同的數對 第一行包括2個非負整數n和c,中間用空格隔開。第二行有...
洛谷P1102 A B 數對
題目描述 出題是一件痛苦的事情!相同的題目看多了也會有審美疲勞,於是我捨棄了大家所熟悉的 a b problem,改用 a b 了哈哈!好吧,題目是這樣的 給出一串數以及乙個數字 c,要求計算出所有 a b c 的數對的個數 不同位置的數字一樣的數對算不同的數對 輸入格式 輸入共兩行。第一行,兩個整...
P1102 A B 數對洛谷c 題解
題目描述 出題是一件痛苦的事情!相同的題目看多了也會有審美疲勞,於是我捨棄了大家所熟悉的 a b problem,改用 a b 了哈哈!好吧,題目是這樣的 給出一串數以及乙個數字 cc,要求計算出所有 a b ca b c 的數對的個數 不同位置的數字一樣的數對算不同的數對 輸入格式 輸入共兩行。第...