Pagini recente » Cod sursa (job #1260941) | Monitorul de evaluare | Cod sursa (job #1080802) | Cod sursa (job #143904) | Cod sursa (job #2569786)
//#include <iostream>
#include <fstream>
#include <unordered_set>
#include <unordered_map>
using namespace std;
unordered_set<int>us;
unordered_map<int,pair<int,pair<int,int> > > um;
int n,s,v[405],a;
ifstream cin("loto.in");
ofstream cout("loto.out");
int main()
{
cin>>n>>s;
for(int i=1;i<=n;i++){
cin>>v[i];
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
for(int k=1;k<=n;k++){
um[v[i]+v[j]+v[k]]=make_pair(v[i],make_pair(v[j],v[k]));
}
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
for(int k=1;k<=n;k++){
if(v[i]-v[j]-v[k]<=s){
if(um.find(s-v[i]-v[j]-v[k])!=um.end()){
cout<<v[i]<<" "<<v[j]<<" "<<v[k]<<" "<<um[s-v[i]-v[j]-v[k]].first<<" "<<um[s-v[i]-v[j]-v[k]].second.first<<" "<<um[s-v[i]-v[j]-v[k]].second.second;
return 0;
}
}
}
}
}
cout<<-1;
return 0;
}