Cod sursa(job #498115)

Utilizator Cristy94Buleandra Cristian Cristy94 Data 4 noiembrie 2010 09:21:15
Problema Loto Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<stdio.h>
FILE *f=fopen("loto.in","r");
FILE *g=fopen("loto.out","w");
struct nr{
	int x;
	int y;
	int z;
	int sum;}
a[1030301];
int cmp(nr a,nr b){
	if(a.sum>b.sum)
		return 0;
return 1;
}
int N,S,v[101],i,j,k,x,m,scr;
int main(){
	fscanf(f,"%d%d",&N,&S);
	for(i=1;i<=N;i++)
		fscanf(f,"%d",&v[i]);
    x=0;
	for(i=1;i<=N;i++)
		for(j=1;j<=N;j++)
			for(k=1;k<=N;k++)
				a[++x].sum=v[i]+v[j]+v[k],a[x].x=v[i],a[x].y=v[j],a[x].z=v[k];
	sort(a+1,a+x+1,cmp);
	for(i=1;i<=x;i++){
	scr=S-a[i].sum;
	int p=1,u=N;
	while(p<=u){
		m=(p+u)/2;
		if(scr==a[m].sum){
			fprintf(g,"%d %d %d %d %d %d",a[i].x,a[i].y,a[i].z,a[m].x,a[m].y,a[m].z);
			return 0;
		}
		if(a[m].sum>scr)
			u=m-1;
		else p=m+1;	
	}
	}
	
	
	
return 0;
}