求佬们指导,只过了一半
查看原帖
求佬们指导,只过了一半
1189413
PURE_LOVE楼主2024/4/3 12:41
#include<bits/stdc++.h>
using namespace std;
int sum = 0;
int n = 0;
int* arr; int big;
void hanshu(int k)
{
	arr[k % sum] += 1;
	for (int i = k + 1; i <= sum; i++)
	{
		arr[i % sum] += arr[i - k];
	}
}
int main()
{
	   scanf("%d%d", &n,&sum);
		int* brr = (int*)calloc(n, sizeof(int));
		for (int i = 0; i < n; i++)
		{
			scanf("%d", &brr[i]);
		}
		sort(brr, brr + n);
		big = brr[n - 1];
		arr=(int*)calloc(sum,sizeof(int));
		for (int i = 0; i < n; i++)
		{
			if (brr[i] > sum)
			{
				break;
			}
			int k = brr[i];
			hanshu(k);
		}
		printf("%d", arr[0]);
}
2024/4/3 12:41
加载中...