Pagini recente » Cod sursa (job #2303360) | Cod sursa (job #1593001) | Cod sursa (job #2433450) | Cod sursa (job #477462) | Cod sursa (job #2555356)
#include <bits/stdc++.h>
using namespace std;
const int m1=666013;
struct ura{
int suma,a,b,c;
};
int numere[101];
vector<ura> r[666015];
bool verif(int x,int nr){
int n=r[x].size()-1,i;
for(i=0;i<=n;i++)
if(r[x][i].suma==nr)
return true;
return false;
};
int main()
{
ifstream cin("loto.in");
ofstream cout("loto.out");
int n,s,S,i,j,k,st,dr,mij,val,elem,x,m,nr;
cin>>n>>S;
s=0;
for(i=1;i<=n;i++)
cin>>numere[i];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
for(k=1;k<=n;k++){
ura su;
su.suma=numere[i]+numere[j]+numere[k];
if(su.suma>S)
continue;
if(verif(su.suma%m1,su.suma))
continue;
su.a=numere[i];
su.b=numere[j];
su.c=numere[k];
r[su.suma%m1].push_back(su);
}
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
for(k=1;k<=n;k++){
s=S-numere[i]-numere[j]-numere[k];
if(s<0)
continue;
x=s%m1;
m=r[x].size()-1;
for(nr=0;nr<=m;nr++){
if(r[x][nr].suma==s){
cout<<numere[i]<<" "<<numere[j]<<" "<<numere[k]<<" ";
cout<<r[x][nr].a<<" "<<r[x][nr].b<<" "<<r[x][nr].c;
return 0;
}
}
}
cout<<-1;
return 0;
}