Pagini recente » Cod sursa (job #897398) | Cod sursa (job #2945223) | Cod sursa (job #3271543) | Cod sursa (job #2234151) | Cod sursa (job #3120749)
#include <fstream>
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
int n, s, v[105];
int w[1000005];
int x[1000005];
int y[1000005];
int z[1000005];
int ind;
int main()
{
f>>n>>s;
for(int i = 1; i<=n; i++)
{
f>>v[i];
}
for(int i = 1; i<=n; i++)
{
for(int j = i; j<=n; j++)
{
for(int k = j; k<=n; k++)
{
if(v[i] + v[j] + v[k] <= s)
{
ind++;
w[ind] = v[i] + v[j] + v[k];
x[ind] = v[i];
y[ind] = v[j];
z[ind] = v[k];
}
}
}
}
int ok = 0;
for(int i = 1; i<=ind && ok == 0; i++)
{
int st = 1;
int dr = ind;
int m;
while(st <= dr)
{
m = (st + dr) / 2;
if(w[i] + w[m] == s)
{
g<<x[i]<<" "<<y[i]<<" "<<z[i]<<" "<<x[m]<<" "<<y[m]<<" "<<z[m];
ok = 1;
break;
}
if(w[i] + w[m] > s)
{
dr = m - 1;
}
else
{
st = m + 1;
}
}
}
if(ok == 0)
{
g<<-1;
}
return 0;
}