dfsTLE求调
查看原帖
dfsTLE求调
1272259
cgxd楼主2025/1/25 19:38
#include<bits/stdc++.h>
using namespace std;
int n, k, ans;
vector<int> v(1);
bitset<100005> vis;
void dfs(int tot, int num){
	ans = (tot == 3 and num % k == 0? max(ans, num): ans);
	for(int i = 1; i <= n; ++i){
		if(vis[i]) continue;
		vis[i] = 1;
		dfs(tot + 1, num + v[i]);
		vis[i] = 0;
	}
}signed main(){
	scanf("%d%d", &n, &k);
	for(int i = 1; i <= n; ++i){
		int k;
		scanf("%d", &k);
		v.push_back(k);
	}dfs(0, 0);
	printf("%d", ans);
	return 0;
}
2025/1/25 19:38
加载中...