Cod sursa(job #2197655)

Utilizator MiricaMateiMirica Matei MiricaMatei Data 22 aprilie 2018 17:21:17
Problema Loto Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <cstdio>
#include <set>

using namespace std;

int a[105];
set<int>m;

void afis(int n, int s) {
  for (int i = 1; i <= n; ++i)
    for (int j = 1; j <= n; ++j)
      for (int k = 1; k <= n; ++k)
        if (a[i] + a[j] + a[k] == s) {
          printf("%d %d %d ", a[i], a[j], a[k]);
          return ;
        }
}

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", &a[i]);
  for (int i = 1; i <= n; ++i)
    for (int j = 1; j <= n; ++j)
      for (int k = 1; k <= n; ++k) {
        int s1 = a[i] + a[j] + a[k];
        m.insert(s1);
        if (*(m.lower_bound(s - s1)) == s - s1) {
          afis(n, s1);
          afis(n, s - s1);
          return 0;
        }
      }
  printf("-1\n");
  return 0;
}