WA30 分求调

image


image

#include<bits/stdc++.h>
using namespace std;
long long n,h[21],sum=0,ans=2147483647,b;
void dfs(long long t){
  if(sum>=b){
    ans=min(ans,sum-b);
    if(ans==0)exit(puts("0"));
    return;
  }if(t==n)return;
  for(long long i=t;i<n;i++){
    sum+=h[t];
    dfs(i+1);
    sum-=h[t];
  }
}int main(){
  cin>>n>>b;
  for(int i=0;i<n;i++)cin>>h[i];
  sort(h,h+n);
  dfs(0);
  cout<<ans;
  return 0;
}
1 个赞

这哪题

1 个赞

这道题我感觉我以前做过…但不记得原题是哪里的了

1 个赞

原题link

1 个赞