P1049 60pts TLE求调
  • 板块灌水区
  • 楼主如履薄冰
  • 当前回复5
  • 已保存回复5
  • 发布时间2025/1/26 16:30
  • 上次更新2025/1/26 21:03:49
查看原帖
P1049 60pts TLE求调
1327843
如履薄冰楼主2025/1/26 16:30
#include<bits/stdc++.h>
#define int long long
using namespace std;
int V,n,a[1100000];
vector<bool> vis;
int dfs(int leftw){
	for(int i=1;i<=n;i++){
		if(vis[i]==false){
			if(leftw<a[i]){
				return leftw;
			}else{
				break;
			}
		}
	}
	int ret=0x3f3f3f3f;
	for(int i=1;i<=n;i++){
		if(vis[i]==false&&a[i]<=leftw){
			vis[i]=true;
			ret=min(ret,dfs(leftw-a[i]));
			vis[i]=false;
		}
	}
	return ret;
}
signed main(){
	ios::sync_with_stdio(false);
	cin>>V>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i];
		vis.push_back(false);
	}
	sort(a+1,a+1+n);
	cout<<dfs(V);
	return 0;
}
2025/1/26 16:30
加载中...