Pagini recente » Cod sursa (job #427566) | Cod sursa (job #2245159) | Cod sursa (job #2647906) | Cod sursa (job #2525724) | Cod sursa (job #2932139)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
const int NMAX = 105;
int n, s, arr[NMAX], S;
inline int b_search(int target)
{
int st = 1, dr = n;
while(st <= dr)
{
int mid = (st + dr)/2;
if(arr[mid] == target)
return target;
if(arr[mid] > target)
dr = mid - 1;
if(arr[mid] < target)
st = mid + 1;
}
return 0;
}
inline void solve()
{
sort(arr+1, arr+n+1);
for(int i=1;i<=n;++i)
{
for(int j=1;j<=n;++j)
{
for(int k=1;k<=n;++j)
{
for(int l=1;l<=n;++l)
{
for(int m=1;m<=n;++m)
{
int c = b_search(S - (arr[i] + arr[j] + arr[k] + arr[l] + arr[m]));
if(c)
{
fout << arr[i] << ' ' << arr[j] << ' ' << arr[k] << ' ' << arr[l] << ' ' << arr[m] << ' ' << c;
return;
}
}
}
}
}
}
fout << -1;
}
int main()
{
fin >> n >> S;
for(int i=1;i<=n;++i)
fin >> arr[i];
solve();
}