Pagini recente » Cod sursa (job #2230014) | Cod sursa (job #2002844) | Denis S | Monitorul de evaluare | Cod sursa (job #2034137)
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> x;
ifstream cin("loto.in");
ofstream cout("loto.out");
int cautbin(int l,int r,int k)
{
if(l==r)
{
if(x[l]==k)
return 1;
else
return 0;
}
int mid=l+(r-l)/2;
if(k<=x[mid]) return cautbin(l,mid,k);
else return cautbin(mid+1,r,k);
}
int main()
{
int n,s,i,j,l,i2,i3,i4;
cin>>n>>s;
int v[n+1];
for(i=1;i<=n;i++)
cin>>v[i];
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
for(l=1;l<=n;l++)
{
x.push_back(v[i]+v[j]+v[l]);
}
}
}
sort(x.begin(),x.end());
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
for(l=1;l<=n;l++)
{
if(cautbin(0,x.size()-1,s-v[i]-v[j]-v[l])==1)
{
for(i2=1;i2<=n;i2++)
{
for(i3=1;i3<=n;i3++)
{
for(i4=1;i4<=n;i4++)
{
if(v[i]+v[j]+v[l]+v[i2]+v[i3]+v[i4]==s)
{
cout<<v[i]<<" ";
cout<<v[i2]<<" ";
cout<<v[i3]<<" ";
cout<<v[j]<<" ";
cout<<v[l]<<" ";
cout<<v[i4]<<" ";
return 0;
}
}
}
}
return 0;
}
}
}
}
cout << "-1";
return 0;
}