Pagini recente » Cod sursa (job #2155342) | Cod sursa (job #2990880) | Cod sursa (job #2984314) | Profil StefanaArina | Cod sursa (job #1401566)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
vector <int> vec[999999];
int nr,n,s,a[101];
struct st
{
int sum,p,s,t;
}v[1000010];
void add (int kx)
{
int l=kx%999983;
vec[l].push_back(kx);
}
bool check (int xx)
{
int l=xx%999983;
for (int j=0;j<vec[l].size();j++)
{
if (vec[l][j]==xx) return 1;
}
return 0;
}
void searh (int numar)
{
int i;
for (i=1;i<=nr;i++)
if (v[i].sum==numar)
{
g<<v[i].p<<" "<<v[i].s<<" "<<v[i].t;
break;
}
}
int main()
{
int i,j,k;
f>>n>>s;
for (i=1;i<=n;i++)
{
f>>a[i];
}
nr=0;
for (i=1;i<=n;i++)
{
for (j=1;j<=n;j++)
{
for (k=1;k<=n;k++)
{
nr++;
v[nr].sum=a[i]+a[j]+a[k];
v[nr].p=a[i];
v[nr].s=a[j];
v[nr].t=a[k];
add(v[nr].sum);
}
}
}
int z=0;
for (i=1;i<=nr;i++)
{
z=check (s-v[i].sum);
if (z==1) {g<<v[i].p<<" "<<v[i].s<<" "<<v[i].t<<" ";searh(s-v[i].sum);break;}
}
if (z==0) g<<-1;
return 0;
}