Cod sursa(job #672525)

Utilizator ionut_ungureanuUngureanu Vladut Ionut ionut_ungureanu Data 2 februarie 2012 14:39:56
Problema Loto Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.93 kb
#include<stdio.h>
#include<vector>
#define FIN "loto.in","r",stdin
#define FOUT "loto.out","w",stdout
#define NMAX 101

using namespace std;

struct loto 
{
	int s,a,b,c;
};

loto x;
vector <loto>v[2011];
vector <loto>::iterator it;

int n,S,i,j,k,p,ok,ss;
int a[NMAX];


void read()
{
freopen(FIN);
scanf("%d %d",&n,&S);
for(i=1;i<=n;i++)
	scanf("%d",&a[i]);
}


void solve()
{
freopen(FOUT);
for(i=1;i<=n&&!ok;i++)
	for(j=1;j<=n&&!ok;j++)
		for(k=1;k<=n&&!ok;k++)
			{
				x.a=a[i];
				x.b=a[j];
				x.c=a[k];
				x.s=x.a+x.b+x.c;
				if(x.s<=S&&!ok)
					{
						v[x.s%p].push_back(x);
						ss=S-x.s;
						for(it=v[ss%p].begin();it!=v[ss%p].end()&&!ok;++it)
							if((*it).s==ss)
								{
									printf("%d %d %d %d %d %d",x.a,x.b,x.c,(*it).a,(*it).b,(*it).c);
									ok=1;
								}
					}
			}
if(!ok)printf("-1");
}



int main()
{
p=2011;ok=0;
read();
solve();
return 0;
}