Pagini recente » Cod sursa (job #1348057) | Cod sursa (job #824088) | Cod sursa (job #961163) | Cod sursa (job #1463124) | Cod sursa (job #2047245)
#include<fstream>
#include<unordered_map>
#include<ctime>
#include<iostream>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
struct sums{
int c1,c2,c3;
};
const int NMAX=105;
int numbers[NMAX],s,n;
unordered_map<int,sums>sum;
void read_data(){
int i;
fin>>n>>s;
for(i=1;i<=n;++i)
fin>>numbers[i];
}
void preprocesssums(){
int i,j,k,poz;
for(i=1;i<=n;++i)
for(j=1;j<=n;++j)
for(k=1;k<=n;++k){
sum[numbers[i]+numbers[j]+numbers[k]]={numbers[i],numbers[j],numbers[k]};
if(numbers[i]+numbers[j]+numbers[k]<=s){
unordered_map<int,sums>::iterator poz=sum.find(s-(numbers[i]+numbers[j]+numbers[k]));
if(poz!=sum.end()){
fout<<numbers[i]<<' '<<numbers[j]<<' '<<numbers[k]<<' '<<(poz->second).c1<<' '<<(poz->second).c2<<' '<<poz->second.c3;
return ;
}
}
}
fout<<-1;
}
int main(){
read_data();
preprocesssums();
}