Pagini recente » Cod sursa (job #1256500) | Cod sursa (job #2901548) | Cod sursa (job #2611049) | Cod sursa (job #2050574) | Cod sursa (job #1854282)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("loto.in");
ofstream out("loto.out");
const int NMAX = 100;
int v[NMAX+1];
int a[NMAX*NMAX*NMAX+1];
int n,s;
int main()
{
in>>n>>s;
for(int i=1; i<=n; i++)
{
in>>v[i];
}
int x=1;
for(int i=1; i<=n; i++)
for(int j=1; j<=n; j++)
for(int k=1; k<=n; k++)
{
a[x]=v[i]+v[j]+v[k];
x++;
}
int p=n*n*n,flag=0;
int st=1,dr=p;
sort(a+1,a+p+1);
for(int i=1; i<=p; i++)
{
if(s-a[st]==a[dr])
{
flag=1;
break;
}
else if(s-a[st]<a[dr])
{
dr--;
}
else
{
st++;
}
}
if(flag==0)
out<<-1;
else
{
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]==a[st])
{
out<<v[i]<<" "<<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]==a[dr])
{
out<<v[i]<<" "<<v[j]<<" "<<v[k]<<" ";
return 0;
}
}
}
}
}
}