Pagini recente » Cod sursa (job #62780) | Cod sursa (job #1082073) | Cod sursa (job #2861046) | Cod sursa (job #1208037) | Cod sursa (job #1467369)
#include <fstream>
#include <algorithm>
#include <bitset>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
int v[8],n,s,a[102],i,j,k,lgV;
bitset<600000001> b;
bool test(int a,int b)
{
return a<b;
}
void afis(int s)
{
for(i=1;i<=n;i++)
for(j=i;a[i]+a[j]<s && j<=n;j++)
for(k=j;a[i]+a[j]+a[k]<=s && k<=n;k++)
if(a[i]+a[j]+a[k]==s)
{
v[++lgV]= i;
v[++lgV]= j;
v[++lgV]= k;
return;
}
}
int main()
{
fin>>n>>s;
for(int i=1;i<=n;i++)
fin>>a[i];
sort(a+1,a+n+1,test);
for(int i=1;i<=n;i++)
for(j=i;a[i]+a[j]<s && j<=n;j++)
for(k=j;a[i]+a[j]+a[k]<s && k<=n;k++)
b[a[i]+a[j]+a[k]] = 1;
for(int i=1;i<s;i++)
if(b[i]==1 && b[s-i]==1)
{
afis(i);
afis(s-i);
sort(v+1,v+7,test);
for(i=1;i<=6;i++)
fout<<v[i]<<' ';
return 0;
}
fout<<-1;
return 0;
}