显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstdlib>
using namespace std;
int zhong,n,liang[102];
int f[10001],qu[200][200];
int ff[10001];
bool d[10001];
int main()
{ freopen("bagb.in","r",stdin);
freopen("bagb.out","w",stdout);
cin>>zhong;
cin>>n;
f[0]=1;
for(int i=1;i<=n;++i)
cin>>liang[i];
for(int i=1;i<=n;++i)
for(int v=zhong;v>=liang[i];--v)
if(v>=liang[i])
{ int yy=f[v];
f[v]+=f[v-liang[i]];
if(f[v]!=yy)
qu[i][v]=1;
}
if(f[zhong]==0)
{
cout<<0;
exit(0);
}
if(f[zhong]>1)
{
cout<<-1;
exit(0);
}
int i=n,v=zhong;
while(i>0)
{
if(qu[i][v]==1)
{
d[i]=1;
v=v-liang[i];
}
i--;
}
for(int i=1;i<=n;++i)
if(!d[i])
cout<<i<<" ";
//system("pause");
}