Pagini recente » Cod sursa (job #1974230) | Cod sursa (job #1824368) | Cod sursa (job #1576050) | Cod sursa (job #2084818) | Cod sursa (job #779829)
Cod sursa(job #779829)
#include <fstream>
#include <algorithm>
using namespace std;
int main()
{
int n, s, a[101], j, i, k, sum, r[7];
bool ok=false;
ifstream f("loto.in");
ofstream g("loto.out");
f>>n>>s;
for(i=1; i<=n; i++)
{
f>>a[i];
}
sort(a+1, a+n+1);
for(i=1; i<=n; i++)
{
for(j=1; j<=n; j++)
{
for(k=1; k<=n; k++)
{
sum=a[i]+a[j]+a[k];
r[1]=a[i];
r[2]=a[j];
r[3]=a[k];
int z=3;
while(sum<=s)
{
int ind=6-z;
if(ind==0)
ind=1;
int lb=lower_bound(a+1, a+n+1, (s-sum)/ind)-a;
if(a[lb]<(s-sum)/ind || a[lb]>(s-sum)/ind)
lb--;
z++;
r[z]=a[lb];
sum+=r[z];
if(sum==s && z==6)
{
ok=true;
break;
}
else if(sum>s || z>6)
break;
}
if(ok)
break;
}
if(ok)
break;
}
if(ok)
break;
}
if(ok)
{
for(i=1; i<=6; i++)
{
g<<r[i]<<" ";
}
}
else
g<<-1;
}