Pagini recente » Rating Linca Silviu (Lsilviu02) | Cod sursa (job #3288262) | Cod sursa (job #2427846) | Monitorul de evaluare | Cod sursa (job #2035646)
#include <iostream>
#include <fstream>
#include <map>
using namespace std;
struct loto{
int nr1,nr2,nr3;
};
map <int,loto> m;
int a[105];
int sum[1000005];
int main()
{
ifstream cin("loto.in");
ofstream cout("loto.out");
int n,i,j,k,s,max,min;
cin>>n>>s;
cin>>a[1];
max=a[1];
min=a[1];
for(i=2;i<=n;++i){
cin>>a[i];
if(a[i]>max)
max=a[i];
if(a[i]<min)
min=a[i];
}
if(max*6<s || min*6>s){
cout<<-1;
return 0;
}
int poz=0;
for(i=1;i<=n;++i){
for(j=1;j<=n;++j)
for(k=1;k<=n;++k){
loto x;
x.nr1=a[i];
x.nr2=a[j];
x.nr3=a[k];
if(m[a[i]+a[j]+a[k]].nr1==0)
sum[++poz]=a[i]+a[j]+a[k];
m[a[i]+a[j]+a[k]]=x;
}
}
for(i=1;i<=poz;++i){
if(m[s-sum[i]].nr1){
cout<<m[sum[i]].nr1<<" "<<m[sum[i]].nr2<<" "<<m[sum[i]].nr3<<" "<<m[s-sum[i]].nr1<<" "<<m[s-sum[i]].nr2<<" "<<m[s-sum[i]].nr3;
return 0;
}
}
return 0;
}