Pagini recente » Cod sursa (job #3267354) | Cod sursa (job #3287488) | Cod sursa (job #3234864) | Cod sursa (job #3263693) | Cod sursa (job #3281558)
#include <fstream>
#include <queue>
using namespace std;
ifstream cin("loto.in");
ofstream cout("loto.out");
int n,s;
priority_queue <vector <int>> q;
vector <int> a;
int v[1000];
int main()
{
cin>>n>>s;
a.push_back(0);
a.push_back(0);
for(int i=1;i<=n;i++)
{
cin>>v[i];
a[0]=v[i];
a[1]=v[i];
q.push(a);
}
while(!q.empty())
{
vector <int> a=q.top();
if(a.size()> 7)
{
q.pop();
continue;
}
q.pop();
a.push_back(0);
for(int i=1;i<=n;i++)
{
if(a[0]+v[i]==s && a.size()==7)
{
for(int k=1;k<a.size()-1;k++)
{
cout<<a[k]<<" ";
}
cout<<v[i]<<" ";
return 0;
}
if(a[0]+v[i]<s)
{
a[0]+=v[i];
a[a.size()-1]=v[i];
q.push(a);
a[0]-=v[i];
}
}
}
cout<<"-1";
return 0;
}