Cod sursa(job #2894669)

Utilizator AlexePaulAlexe Paul AlexePaul Data 28 aprilie 2022 00:59:03
Problema Loto Scor 75
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.13 kb
#include <bits/stdc++.h>

#define FILE "loto"

using namespace std;

ifstream fin(FILE".in");
ofstream fout(FILE".out");

struct data{
	int value;
	int nr1, nr2, nr3;
};
int n,s;
map<int,data> umap;
int numbers[105];

int main(){
	fin >> n;
	fin >> s;
	ios::sync_with_stdio(false);
	for(int i = 0; i < n; ++i)
		fin >> numbers[i];
	for(int i = 0; i < n; ++i)
		for (int j = i; j < n; ++j)
			for (int k = j; k < n; ++k){
				umap[numbers[i]+numbers[j]+numbers[k]].value++;
				umap[numbers[i]+numbers[j]+numbers[k]].nr1 = numbers[i];
				umap[numbers[i]+numbers[j]+numbers[k]].nr2 = numbers[j];
				umap[numbers[i]+numbers[j]+numbers[k]].nr3 = numbers[k];
			}
	for(int i = 0; i < n; ++i)
		for (int j = i; j < n; ++j)
			for (int k = j; k < n; ++k){
				if(umap[s - (numbers[i]+numbers[j]+numbers[k])].value != 0){
					fout << umap[s - (numbers[i]+numbers[j]+numbers[k])].nr1 << ' ' << umap[s - (numbers[i]+numbers[j]+numbers[k])].nr2 
					<<' ' << umap[s - (numbers[i]+numbers[j]+numbers[k])].nr3 << ' ' << numbers[i] << ' ' << numbers[j] << ' ' << numbers[k];
					return 0;
				}
	}
	fout << -1;
	return 0;
}