Pagini recente » Cod sursa (job #1618403) | Cod sursa (job #680546) | Cod sursa (job #1220568) | Istoria paginii runda/fminostress4 | Cod sursa (job #1385705)
#include <cstdio>
#include <unordered_map>
using namespace std;
unordered_map<int,int> has;
FILE*f=fopen("loto.in","r");
FILE*h=fopen("loto.out","w");
int n,s,val[101];
int main(){
fscanf(f,"%d%d",&n,&s);
for ( int i=0;i<n;++i ){
fscanf(f,"%d",&val[i]);
}
for ( int i=0;i<n;++i )
for ( int j=0;j<n;++j )
for ( int k=0;k<n;++k )
has[val[i]+val[j]+val[k]]=1;
for ( int i=0;i<n;++i )
for ( int j=0;j<n;++j )
if ( val[i]+val[j]<=s )
for ( int k=0;k<n;++k ){
if ( has[s-val[i]-val[j]-val[k]]==1 ){
s-=val[i]+val[j]+val[k];
fprintf(h,"%d %d %d ",val[i],val[j],val[k]);
for ( int i1=0;i1<n;++i1 )
if ( val[i1]<=s )
for ( int j1=0;j1<n;++j1 ){
if ( val[i1]+val[j1]<=s )
for ( int k1=0;k1<n;++k1 )
if ( val[i1]+val[j1]+val[k1]==s ){
fprintf(h,"%d %d %d",val[i1],val[j1],val[k1]);
return 0;
}
}
return 0;
}
}
fprintf(h,"-1");
return 0;
}