Pagini recente » Cod sursa (job #1371597) | Cod sursa (job #1066229) | Cod sursa (job #1487716)
#include <fstream>
#include <algorithm>
#include <unordered_map>
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
const int NMAX=105;
int a[NMAX];
int v[NMAX*NMAX*NMAX];
unordered_map <int,bool> M;
int main()
{
int n,s,sum2,sum,ok=0;
f>>n>>s;
for(int i=1;i<=n;i++)
f>>a[i];
for(int i=1;i<=n;i++)
for(int j=i;j<=n;j++)
for(int k=j;k<=n && ok==0;k++)
{
sum=a[i]+a[j]+a[k];
M[sum]=1;
if(sum<s)
{
int ramas=s-sum;
if(M[ramas]>0)
{
g<<a[i]<<" "<<a[j]<<" "<<a[k]<<" ";
sum2=ramas;
ok=1;
}
}
}
if(ok)
{
bool gasit=0;
for(int i=1;i<=n;i++)
for(int j=i;j<=n;j++)
for(int k=j;k<=n && gasit==0;k++)
if(sum2==a[i]+a[j]+a[k])
{
g<<a[i]<<" "<<a[j]<<" "<<a[k]<<" ";
gasit=1;
}
}
else
g<<"-1\n";
return 0;
}