Cod sursa(job #109090)

Utilizator rethosPaicu Alexandru rethos Data 24 noiembrie 2007 18:13:34
Problema Loto Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream.h>
long s,v[101],x[7];
int n,min;
long suma(int n)
{ int i;
  long suma=0;
  for (i=1;i<=n;i++)
	suma+=x[i];
  return suma;
}
int verif(int k)
{ if (suma(k)+min*(n-k)>s) return 0;
  return 1;
}
void back(int k,int &sw)
{ if (k>6)
	{ if (suma(k-1)==s) { sw=1;return;}
	  else return;
	}
  int i;
  for (i=1;i<=n&&sw==0;i++)
	{ x[k]=v[i];
	  if (verif(k)) back(k+1,sw);
	}
}
int main()
{ int i,sw;
  ifstream f("loto.in");
  f>>n>>s;
  f>>v[1];min=v[1];
  for (i=2;i<=n;i++) { f>>v[i];
		       if (min>v[i]) min=v[i];
		     }
  f.close();
  sw=0;
  back(1,sw);
  ofstream g("loto.out");
  if (sw==0) g<<-1;
	else  for (i=1;i<=6;i++) g<<x[i]<<' ';
  return 0;
}