求助WA 孩子快疯了
查看原帖
求助WA 孩子快疯了
1337369
NoneIceland楼主2024/6/10 08:52

AC AC AC WA WA WA WA WA WA WA

#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
const long long MOD = 10e9 + 7;
const int maxn = 5050;
int b[maxn];
long long ans = 0;
int main() {
	int n, a, begin = maxn, end = -1;
	cin >> n;
	for (int i = 0; i < n; i++)
	{
		scanf("%d", &a);
		begin = min(begin, a);
		end = max(end, a);
		b[a]++;
	}
	for (int i = begin + 1; i <= end; i++)
	{
		if (b[i] >= 2)
		{
			for (int j = begin; j <= i / 2; j++)
			{
				if (b[j] and b[i - j])
				{
					if (j == i - j and b[j] >= 2)
					{
						ans += ((b[i] * (b[i] - 1) >> 1) * (b[j] * (b[j] - 1) >> 1) % MOD) % MOD;
					}
					else if (j != i - j)
					{
						ans += ((b[i] * (b[i] - 1) >> 1) * b[j] * b[i - j]) % MOD;
					}
				}
				ans %= MOD;
			}
		}
	}
	cout << ans;
	return 0;
}
2024/6/10 08:52
加载中...