Pagini recente » Monitorul de evaluare | Istoria paginii runda/git_gud_round3/clasament | Monitorul de evaluare | Profil laurentiud | Cod sursa (job #2020123)
#include <cstdio>
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
freopen("loto.in","r",stdin);
freopen("loto.out","w",stdout);
int n , s , i , nr;
scanf("%d%d",&n,&s);
vector<int>v;
for(i=0;i<n;i++)
{
scanf("%d",&nr);
v.push_back(nr);
}
sort(v.begin(),v.end());
vector<int>::iterator it ,it1,it2,it3,it4,it5,it6;
it=v.begin();
it1=v.end()-1;
if((*it)*6>s)
{
printf("-1");
return 0;
}
if((*it1)*6<s)
{
printf("-1");
return 0;
}
int val=*it;
int ss;
for(it=v.begin();it!=v.end();it++)
{
ss=*it;
if(ss+(*it)*5<=s)
{
for(it1=it;it1!=v.end();it1++)
{
int ss1=ss;
ss1+=*it1;
if(ss1+(*it1)*4<=s)
for(it2=it1;it2!=v.end();it2++)
{
int ss2=ss1;
ss2+=*it2;
if(ss2+(*it2)*3<=s)
for(it3=it2;it3!=v.end();it3++)
{
int ss3=ss2;
ss3+=*it3;
if(ss3+(*it3)*2<=s)
for(it4=it3;it4!=v.end();it4++)
{
int ss4=ss3;
ss4+=*it4;
if(ss4+(*it4)<=s)
for(it5=it4;it5!=v.end();it5++)
{
int ss5=ss4;
ss5+=*it5;
if(ss5==s)
{
printf("%d %d %d %d %d %d",(*it),(*it1),(*it2),(*it3),(*it4),(*it5));
return 0;
}
}
}
}
}
}
}
}
printf("-1");
return 0;
}