Pagini recente » Cod sursa (job #461457) | Monitorul de evaluare | Cod sursa (job #1634536) | Cod sursa (job #596123) | Cod sursa (job #2035634)
#include <iostream>
#include <fstream>
#include <map>
using namespace std;
struct loto{
int nr1,nr2,nr3;
};
map <int,loto> m;
int a[105];
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;
}
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];
m[a[i]+a[j]+a[k]]=x;
}
}
for(i=1;i<=n;++i){
for(j=1;j<=n;++j){
for(k=1;k<=n;++k){
if(m[s-a[i]-a[j]-a[k]].nr1>=1){
cout<<a[i]<<" "<<a[j]<<" "<<a[k]<<" "<<m[s-a[i]-a[j]-a[k]].nr1<<" "<<m[s-a[i]-a[j]-a[k]].nr2<<" "<<m[s-a[i]-a[j]-a[k]].nr3;
return 0;
}
}
}
}
cout<<-1;
return 0;
}