Cod sursa(job #825518)

Utilizator vladm97Matei Vlad vladm97 Data 29 noiembrie 2012 09:53:46
Problema Loto Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include<fstream>
#include<vector>
#define cst 294001
using namespace std;
long long s,s2,s3;
vector<int>v[cst+2000];// definirea unui vector de liste
int cautare(int s)
{int i,rest=s%cst;
if(s<0)return -1;
for(i=0;i<v[rest].size();i++)
	if(s==v[rest][i])return 1;
return -1;}
int main()
{int i,j,k,n,ok=0,vec[10900];
ifstream f("loto.in");
ofstream g("loto.out");
f>>n>>s;
for(i=1;i<=n;i++)
	f>>vec[i];
for(i=1;i<=n;i++)
	for(j=i;j<=n;j++)
		for(k=j;k<=n;k++)
		{s2=vec[i]+vec[j]+vec[k];
		v[s2%cst].push_back(s2);
		if(cautare(s-s2)==1){g<<vec[i]<<" "<<vec[j]<<" "<<vec[k]<<" ";
							i=j=k=n;
							ok=1;}
		}
if(ok==1){
	for(i=1;i<=n;i++)
		for(j=i;j<=n;j++)
			for(k=j;k<=n;k++)
			{s3=vec[i]+vec[j]+vec[k];
			if(s3==s-s2){g<<vec[i]<<" "<<vec[j]<<" "<<vec[k];
						i=j=k=n;}
			}}
if(ok==0)g<<-1;
return 0;}