Cod sursa(job #858347)

Utilizator deea101Andreea deea101 Data 18 ianuarie 2013 20:35:50
Problema Loto Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>
#include <vector>
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
int a[101];
struct nod
{
	int x,y,z,s;
};
vector < nod > v[666013];

int main()
{
	int n,s,i,j,k,s1,s2,x,y,l,sol=0;
	nod p;
	f>>n>>s;
	for(i=1;i<=n;i++)
		f>>a[i];
	for(i=1;i<=n && !sol;i++)
		for(j=i;j<=n && !sol;j++)
			for(k=j;k<=n && !sol;k++)
			{
				s1=a[i]+a[j]+a[k];
				if(s1<=s)
				{
					p.x=a[i]; p.y=a[j]; p.z=a[k]; p.s=s1;
					x=s1%666013;
					v[x].push_back(p);
					s2=s-s1;
					y=s2%666013;
					for(l=0;l<v[y].size() && !sol;l++)
					{
						if(v[y][l].s==s2)
						{
							sol=1;
							g<<a[i]<<' '<<a[j]<<' '<<a[k]<<' '<<v[y][l].x<<' '<<v[y][l].y<<' '<<v[y][l].z<<'\n';
						}
					}
				}
			}
	if(!sol) g<<-1<<'\n';
}