Cod sursa(job #497135)

Utilizator Robert29FMI Tilica Robert Robert29 Data 1 noiembrie 2010 18:02:37
Problema Loto Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include<stdio.h>
#include<algorithm>
using namespace std;
FILE*f=fopen("loto.in","r");
FILE*g=fopen("loto.out","w");
struct suma{
	int z1;
	int z2;
	int z3;
	int s;
} v[1000001];
int cmp(suma a, suma b) {
	return a.s < b.s;
} 
int i,j,k,n,x,p1,p2,aux,p,u,nr,w[101];
int main() {
	fscanf(f,"%d %d",&n,&x);
	for(i=1;i<=n;i++)
		fscanf(f,"%d",&w[i]);
	for(i=1;i<=n;i++)
		for(j=i;j<=n;j++)
			for(k=j;k<=n;k++){
				nr++;
				v[nr].z1=i;
				v[nr].z2=j;
				v[nr].z3=k;
				v[nr].s=w[i]+w[j]+w[k];
			}
			
	sort(v+1,v+nr+1,cmp);
	p=1;
	u=nr;
	while(p<=u){
		aux=v[p].s+v[u].s;
		if(x==aux){
			p1=p;
			p2=u;
			break;
		}
		if(aux>x)
			u--;
		else
			p++;
	}
	if(p1==0)
		fprintf(g,"-1");
	else
		fprintf(g,"%d %d %d %d %d %d",w[v[p1].z1],w[v[p1].z2],w[v[p1].z3],w[v[p2].z1],w[v[p2].z2],w[v[p2].z3]);
		
	
	fclose(g);
	fclose(f);
	return 0;
}