Pagini recente » Cod sursa (job #2710828) | Istoria paginii runda/pentru_incepatori | Cod sursa (job #2075537) | Cod sursa (job #947464) | Cod sursa (job #1706313)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin("loto.in");
ofstream cout("loto.out");
#define MAX 1000001
int v[MAX], nv, n, s, a[101];
void solve(int x)
{
for(int i=1; i<=n; i++)
for(int j=1; j<=n; j++)
for(int k=1; k<=n; k++)
if(a[i] + a[j] + a[k] == x)
{
cout<<a[i]<<' '<<a[j]<<' '<<a[k]<<' ';
return;
}
}
int main()
{
cin>>n>>s;
for(int i=1; i<=n; i++)
cin>>a[i];
for(int i=1; i<=n; i++)
for(int j=1; j<=n; j++)
for(int k=1; k<=n; k++)
v[++nv] = a[i] + a[j] + a[k];
sort(v+1, v+nv+1);
int i=1, j=nv;
while(i<=j)
{
if(v[i] + v[j] == s){
solve(v[i]);
solve(v[j]);
return 0;
}
else if(v[i] + v[j] < s)
i++;
else
j--;
}
cout<<-1;
return 0;
}