Cod sursa(job #1720007)

Utilizator stefanik_robertzRobert S stefanik_robertz Data 20 iunie 2016 21:41:08
Problema Loto Scor 15
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#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;
}