Cod sursa(job #1782253)

Utilizator andreiulianAndrei andreiulian Data 17 octombrie 2016 21:36:52
Problema Loto Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include<iostream>
#include<fstream>
#include<algorithm>
#include<unordered_map>
using namespace std;
int v[105], l[1000000];
struct juma{
	short j1, j2, j3;
};
unordered_map<int, juma> M;
int main(){
	ifstream in("loto.in");
	ofstream out("loto.out");
	int x, m, s, ul=0;
    short n, i, j, k;
    juma q;
	in >> n >> s;
	for (i = 1; i <= n; ++i) in >> v[i];
	for (i = 1; i <= n; ++i)
	 for (j = i; j <= n; ++j)
	  for (k = j; k <= n; ++k) {
        q.j1 = i; q.j2 = j; q.j3 = k;
        M[v[i] + v[j] + v[k]] = q;
        l[++ul] = v[i] + v[j] + v[k];
      }
    for(m = 1; m <= ul; ++m){
        x = s - l[m];
        if(M[x].j1!=0 && M[x].j2!=0 && M[x].j3!=0){
            out << v[M[l[m]].j1] << ' ' << v[M[l[m]].j2] << ' ' << v[M[l[m]].j3] << ' ' << v[M[x].j1] << ' ' << v[M[x].j2] << ' ' << v[M[x].j3] << '\n';
            return 0;
        }
    }
    out << "-1\n";
}