Pagini recente » Cod sursa (job #474396) | Cod sursa (job #2473281) | Cod sursa (job #2849930) | Cod sursa (job #374941) | Cod sursa (job #3184498)
#include<bits/stdc++.h>
using namespace std;
ifstream F("loto.in");
ofstream G("loto.out");
int n,s,a[100],i,j,k,l,t,r;
int main()
{
for(F>>n>>s;i<n;F>>a[i++]);
for(sort(a,a+n),i=0;i<n&&6*a[i]<=s;++i)
if(a[i]+5*a[n-1]>=s)
for(j=i;j<n&&a[i]+5*a[j]<=s;++j)
if(a[i]+a[j]+4*a[n-1]>=s)
for(k=j;k<n&&a[i]+a[j]+4*a[k]<=s;++k)
if(a[i]+a[j]+a[k]+3*a[n-1]>=s)
for(l=k;l<n&&a[i]+a[j]+a[k]+3*a[l]<=s;++l)
if(a[i]+a[j]+a[k]+a[l]+2*a[n-1]>=s)
for(t=l,r=n-1;t<n&&a[i]+a[j]+a[k]+a[l]+2*a[t]<=s;++t)
if(a[i]+a[j]+a[k]+a[l]+a[t]+a[n-1]>=s&&(r=upper_bound(a+t,a+r+1,s-a[i]-a[j]-a[k]-a[l]-a[t])-a-1,a[i]+a[j]+a[k]+a[l]+a[t]+a[r]==s))
return G<<a[i]<<' '<<a[j]<<' '<<a[k]<<' '<<a[l]<<' '<<a[t]<<' '<<a[r],0;
return G<<-1,0;
}