Cod sursa(job #715898)

Utilizator paulbotabota paul paulbota Data 17 martie 2012 21:54:17
Problema Loto Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include<fstream>
#include<vector>
#define MAX 102

using namespace std;

ifstream in("loto.in");
ofstream out("loto.out");


int n,s,a[MAX],l,v[MAX*MAX*MAX];

struct loto
{
	int x,y,z;
};

loto numere[MAX*MAX*MAX];

int cautare(int j)
{
	for(int i=1;i<=l;i++)
	{
	    if(v[i]==j)
		return i;	
	}	
	return 0;
}

void scriere(int i,int j)
{
	out<<numere[i].x<<" "<<numere[i].y<<" "<<numere[i].z<<" "<<numere[j].x<<" "<<numere[j].y<<" "<<numere[j].z<<"\n";
}

int main()
{
	in>>n>>s;
	int i;
	for(i=1;i<=n;i++)
		in>>a[i];
	int j,k;
	for(i=1;i<=n;i++)
		for(j=i;j<=n;j++)
			for(k=j;k<=n;k++)
			{
				int suma,suma1;
				suma=a[i]+a[j]+a[k];
				suma1=s-suma;
				l++;
				v[l]=suma;
				numere[l].x=i;
				numere[l].y=j;
				numere[l].z=k;
				int ok=cautare(suma1);
				if(ok!=0)
				{
					scriere(l,ok);
					return 0;
				}
			}
	out<<"-1\n";
	return 0;
}