Cod sursa(job #51561)

Utilizator nashnash mit nash Data 14 aprilie 2007 19:31:23
Problema Loto Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <iostream>
#include <fstream>
#include <algorithm>

using namespace std;
long moneda[101],ok,sum,s,st[7],n;

void tipar() {
	ofstream fout("loto.out");
	fout<<moneda[st[1]]<<" "<<moneda[st[2]]<<" "<<moneda[st[3]]<<" "<<moneda[st[4]]<<" "<<moneda[st[5]]<<" "<<moneda[st[6]];
	fout.close();
}

void back(int k,long sum) {
	if(k==7) { if(sum==s) tipar(),ok=0; }
	else 
		for(int i=1;i<=n && ok ;i++)
			if(sum+moneda[i]>s) break;
			else {  st[k]=i; back(k+1,sum+moneda[i]); }
}


int main() {
	ifstream fin("loto.in");
	fin>>n>>s;
	for(int i=1;i<=n;i++) fin>>moneda[i];
	sort(moneda+1,moneda+n+1);
	fin.close();

	ok=1;
	back(1,0);
	if(ok)
	{
		ofstream fout("loto.out");
		fout<<-1;
		fout.close();
	}
	return 0;
}