为什么我这么写会RE?
查看原帖
为什么我这么写会RE?
563378
KicamonIce楼主2022/2/27 15:43

为什么我这么写会RE?

#include<iostream>
using namespace std;
const int N = 1e5 + 3, M = 5e3 + 3;

int n;
int a[N], d[M], p[M];
int len;
int null = 1e9 + 7;

void dfs(int u,int cnt,int num)
{
	if (u == 2)
	{
		p[num]++;
		return;
	}
	for (int i = cnt; i <= n; i++)
		dfs(u + 1, i + 1, num + a[i]);
}

int main()
{
	cin.tie(NULL), cout.tie(NULL);
	cin >> n;
	for (int i = 1; i <= n; i++)
	{
		cin >> a[i];
		d[a[i]]++;
		len = max(len, a[i]);
	}

	dfs(0, 1, 0);
	int ans = 0;
	for (int i = 0; i <= len; i++)
	{
		ans += (d[i]*(d[i] - 1) / 2) * p[i];
		ans %= null;
	}

	cout << ans << endl;
	return 0;
}
2022/2/27 15:43
加载中...