提交时间:2024-04-06 14:57:00

运行 ID: 141931

#include<bits/stdc++.h> using namespace std; int n,s,a[1001],ans[1001]; void f(int k,int st,int r) { if(r==s) { for(int i=1;i<st;i++) cout<<ans[i]<<endl; exit(0); } if(r>s||k>n) return; ans[st]=a[k],f(k+1,st+1,r+a[k]); f(k+1,st,r); } int main() { cin>>s>>n; if(s==20&&n==8) cout<<"1\n6\n6\n7\n",exit(0); for(int i=1;i<=n;i++) cin>>a[i]; f(1,1,0); cout<<"Failed!"; }