Cod sursa(job #566244)

Utilizator biroBiro Alexandru biro Data 28 martie 2011 20:05:29
Problema Loto Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <algorithm>
#define DIM 101

using namespace std ;

struct pam{
	int a ;
	int b ;
	int c ;
} ;

int v[DIM] ;
int sol[DIM*DIM*DIM] ;
pam a[DIM*DIM*DIM] ;
int cnt ;

int main() {
  freopen ("loto.in","r",stdin) ;
  freopen ("loto.out","w",stdout);

  int n , s ;
  scanf ("%d%d" , &n , &s) ;
  for (int i=1 ; i<=n ; ++i ) {
    scanf ("%d" , &v[i]) ;
  }
  for (int i=1 ; i<=n ; ++i) {
    for (int j=i ; j<=n ; ++j) {
      for(int k=j ; k<=n ; ++k) {
        sol[++cnt]=v[i]+v[j]+v[k] ;
		a[cnt].a=v[i] ;
		a[cnt].b=v[j] ;
		a[cnt].c=v[k] ;
      }
    }
  }
  for (int i=1 ; i<=cnt ; ++i) {
    int x=upper_bound(sol+1,sol+cnt+1,s-sol[i])-sol-1;
    if (x>=1 && x<=cnt && sol[x]==(s-sol[i])) {
      printf("%d %d %d %d %d %d" , a[x].a , a[x].b , a[x].c , a[i].a , a[i].b , a[i].c) ;
	  break ;
    }
  }

  return 0;
}