#include #include #include using namespace std; vectorsorted; vectorwork; vector box,item; int res=11; int N,M; void check(int sz){ for(auto &it:work){ sorted.push_back(it); } sort(sorted.begin(),sorted.end()); reverse(sorted.begin(),sorted.end()); bool f=true; for(auto i=0;ibox[i])f=false; } if(f)res=sz; sorted.clear(); } void func(int n,int sz){ if(sz>=res)return; if(n==N){ check(sz); return; } for(int i=0;i>N; for (int i=0;i>x; item.push_back(x); } cin>>M; for (int i=0;i>x; box.push_back(x); } sort(box.begin(),box.end()); reverse(box.begin(),box.end()); func(0,0); if(res>=11)cout<<-1<