为什么是60!!!
查看原帖
为什么是60!!!
1075989
BlauAnthony楼主2024/10/17 21:06

前面两个检查点WA,后面三个AC

//洛谷P1049.cpp
#include<iostream>
using namespace std;
int s;
void dp(int *l,int v,int n,int d,int w){
	if(w<n){
		for(int i=w+1;i<n;i++){
			if(d+l[i]>v){
				if(v-d<s){
					s=v-d;
				}
				continue;
			}
			dp(l,v,n,d+l[i],i);
		}
	}
}
int main(){
	int v,n;
	cin>>v>>n;
	int l[n];
	s=v;
	for(int i=0;i<n;i++){
		cin>>l[i];
	}
	dp(l,v,n,0,0);
	cout<<s;
	return 0;
} 
2024/10/17 21:06
加载中...