Pagini recente » Cod sursa (job #850431) | Cod sursa (job #629478) | Cod sursa (job #1872930) | Cod sursa (job #419288) | Cod sursa (job #2781682)
#include <iostream>
#include <fstream>
#include <unordered_map>
using namespace std;
ifstream fin ("loto.in");
ofstream fout ("loto.out");
const int nmax=101;
int n,a[nmax],s;
struct triplet
{
int x,y,z;
};
unordered_map<int, triplet> sume;
int main()
{
fin >>n>>s;
for (int i=1;i<=n;i++)
{fin >>a[i];}
for (int i=1;i<=n;i++)
{for (int j=i;j<=n;j++)
{for (int k=j;k<=n;k++)
{sume[a[i]+a[j]+a[k]]={a[i],a[j],a[k]};}}}
for(int i=1;i<=n;i++)
{for(int j=i;j<=n;j++)
{for(int k=j;k<=n;k++)
{int complement=s-a[i]-a[j]-a[k];
if(sume.count(complement)>0) {triplet t=sume[complement];
fout <<a[i]<<" "<<a[j]<<" "<<a[k]<<" "<<t.x<<" "<<t.y<<" "<<t.z<<"\n";
return 0;}}}}
fout << "-1\n";
}