Pagini recente » Istoria paginii utilizator/iuliacostea | Istoria paginii utilizator/poenardavidd3 | Istoria paginii utilizator/agresiv | Istoria paginii utilizator/8audreyc7391re7 | Cod sursa (job #1720006)
#include <iostream>
#include <fstream>
using namespace std;
int n;
long s,val[100],a[100],sum;
bool ok;
ofstream g("loto.out");
void afisare(){
if(sum==s)
{
ok=true;
for(int i=0;i<6;i++)g<<val[a[i]]<<" ";
}
}
void bk(int k){
for(int i=a[k-1];i<n;i++){
a[k]=i;
sum+=val[i];
if(sum<=s&&sum+(5-k)*val[n-1]>=s){
if(k==5){
afisare();
if(sum==s)return;
}else bk(k+1);
}
sum-=val[i];
}
}
int main()
{
ifstream f("loto.in");
f>>n>>s;
for(int i=0;i<n;i++){
f>>val[i];
}
//if(6*val[n-1]>=s)
bk(0);
if(!ok)g<<-1;
return 0;
}