Pagini recente » Cod sursa (job #712805) | Cod sursa (job #270990) | Cod sursa (job #2429499) | Cod sursa (job #1311969) | Cod sursa (job #2918110)
#include <bits/stdc++.h>
#define nmax 102
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
int v[nmax];
int n,s;
int c[nmax*nmax*nmax];
int sol[nmax*nmax*nmax];
bool cmp(const int &a, const int &b)
{
return c[a]<c[b];
}
int main()
{
f>>n>>s;
for(int i=0;i<n;i++)
{
f>>v[i];
}
int n3=n*n*n;
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
for(int k=0;k<n;k++)
{
c[i+j*n+k*n*n]=v[i]+v[j]+v[k];
}
}
}
for(int i=0;i<n3;i++)
{
sol[i]=i;
}
sort(sol,sol+n3);
int a=0,b=n3-1;
bool ok=0;
for(;a<n3&&a<=b;a++)
{
while(c[sol[a]]+c[sol[b]]>s) b--;
if(c[sol[a]]+c[sol[b]]==s)
{
ok=1;
break;
}
}
if(!ok)
{
g<<-1;
return 0;
}
for(int i=0;i<3;i++)
{
g<<v[sol[a]%n]<<' '<<v[sol[b]%n]<<' ';
sol[a]/=n;
sol[b]/=n;
}
return 0;
}