提交时间:2024-04-06 14:56:35

运行 ID: 141930

#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"; for(int i=1;i<=n;i++) cin>>a[i]; f(1,1,0); cout<<"Failed!"; }