Cod sursa(job #1782285)

Utilizator andreiulianAndrei andreiulian Data 17 octombrie 2016 22:03:42
Problema Loto Scor 25
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.98 kb
#include<iostream>
#include<fstream>
#include<algorithm>
#include<unordered_map>
using namespace std;
int v[105];
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)
       if(M.find(v[i] + v[j] + v[k]) == M.end())
        {
        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(auto it = M.begin(); it != M.end(); ++it){
        x = s - (it->first);
        if(M[x].j1!=0 && M[x].j2!=0 && M[x].j3!=0){
            out << v[it->second.j1] << ' ' << v[it->second.j2] << ' ' << v[it->second.j3] << ' ' << v[M[x].j1] << ' ' << v[M[x].j2] << ' ' << v[M[x].j3] << '\n';
            return 0;
        }
    }
    out << "-1\n";
}