#3 #4 WA 求助!(实在是看不出来啊qaq)
查看原帖
#3 #4 WA 求助!(实在是看不出来啊qaq)
1449655
hjy23330042楼主2024/10/28 21:09
#include<iostream>
#include<vector>
typedef long long ll;
using namespace std;
int result = 0;
vector<int>Hash(1000003,0);
const int mod = 1000003;
ll  n, c;

//快读
inline ll read() {
	int w=1, q=0;
	char ch = ' ';
	while (ch != '-' && (ch < '0' || ch>'9')) ch = getchar();
	if (ch == '-') w = -1, ch = getchar();
	while (ch >= '0' && ch <= '9')q = q * 10 + ch - '0', ch = getchar();
	return w * q;
}

void check(ll val) {
	ll pos = (val % mod+mod)%mod;
	result += Hash[pos];
	return;
}

int main() {
	n = read();
	c = read();
	vector<ll>arr(n);
	//输入,建表
	for (ll i = 0; i < n; i++) {
		ll cur = read();
		ll pos = cur % mod;
		arr[i] = cur;
		Hash[pos] += 1;
	}

	//遍历表,查找
	for (ll i = 0; i < n; i++) {
		ll val = arr[i] - c;
		check(val);
	}
	cout << result;
}
2024/10/28 21:09
加载中...