Pagini recente » Cod sursa (job #478487) | Cod sursa (job #516237) | Cod sursa (job #229170) | Cod sursa (job #1302567) | Cod sursa (job #1711839)
#include <fstream>
#include <algorithm>
using namespace std;
#define MAX 1000001
ifstream in("loto.in");
ofstream out("loto.out");
int v[MAX], a[100],n,S, p=0;;
void citire()
{
in>>n>>S;
for(int i=1; i<=n; i++)
in>>a[i];
in.close();
}
void afisare(int n, int x)
{
int i,j,k;
for(i=1; i<=n; i++)
for(j=1; j<=n; j++)
for(k=1; k<=n; k++)
if (a[i]+a[j]+a[k]==x)
{
out<<a[i]<<" "<<a[j]<<" "<<a[k]<<" ";
return;
}
}
int main()
{
citire ();
for(int i=1; i<=n; i++)
for(int j=1; j<=n; j++)
for(int k=1; k<=n; k++)
{
p++;
v[p]=a[i]+a[j]+a[k];
}
sort (v+1,v+p+1);
int i=1,j=p;
while(i<=j)
{
if(v[i]+v[j]==S)
{
afisare(n,v[i]);
afisare(n,v[j]);
return 0;
}
else if(v[i]+v[j]<S) i++;
else j--;
}
out<<-1;
out.close();
return 0;
}