Pagini recente » Cod sursa (job #371042) | Cod sursa (job #1869233) | Cod sursa (job #1157094) | Cod sursa (job #868662) | Cod sursa (job #2190683)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
int v[105];
unordered_map <int,bool> frecv;
int main()
{
int n,S;
fin >> n >> S;
for(int i=1;i<=n;i++)
{
fin >> v[i];
}
for(int i=1;i<=n;i++)
{
for(int j=i;j<=n;j++)
{
for(int u=j;u<=n;u++)
{
frecv[v[i]+v[j]+v[u]]=1;
}
}
}
int dif=-1;
int ok=0;
for(int i=1;i<=n;i++)
{
for(int j=i;j<=n;j++)
{
for(int u=j;u<=n;u++)
{
if(frecv.find(S-v[i]-v[j]-v[u])!=frecv.end()) /// daca nu gaseste returneaza frecv.end();
{
fout << v[i] << ' ' << v[j] << ' ' << v[u] << ' ';
dif=S-v[i]-v[j]-v[u];
ok=1;
break;
}
}
if(ok==1) break;
}
if(ok==1) break;
}
if(dif==-1)
{
fout << -1;
return 0;
}
for(int i=1;i<=n;i++)
{
for(int j=i;j<=n;j++)
{
for(int u=j;u<=n;u++)
{
if(v[i]+v[j]+v[u]==dif)
{
fout << v[i] << ' ' << v[j] << ' ' << v[u];
return 0;
}
}
}
}
return 0;
}