Cod sursa(job #226146)

Utilizator daniel.dumitranDaniel Dumitran daniel.dumitran Data 1 decembrie 2008 03:24:35
Problema Loto Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <stdio.h>
#include <map>

#define MAXN 100

int n;
int s;
int i, j, k;

int numbers[MAXN];

struct ticket {
  int a, b, c;
};

std::map<int, ticket> m;

int main() {
  freopen("loto.in", "rt", stdin);
  freopen("loto.out", "wt", stdout);
  
  scanf("%d %d", &n, &s);
  for (int i = 0; i < n; ++i)
    scanf("%d", numbers + i);

  ticket t;
  for (int i = 0; i < n; ++i) {
    t.a = numbers[i];
    for (int j = 0; j < n; ++j) {
      t.b = numbers[j];
      for (int k = 0; k < n; ++k) {
        t.c = numbers[k];
        int sum = t.a + t.b + t.c;
        m[sum] = t;
        if (m.find(s - sum) != m.end()) {
          ticket o = m[s - sum];
          printf("%d %d %d %d %d %d\n", t.a, t.b, t.c, o.a, o.b, o.c);
          return 0;
        }
      }
    }
  }

  printf("-1\n");
  return 0;
}