Pagini recente » Cod sursa (job #1680506) | Cod sursa (job #1588741) | Cod sursa (job #3213050) | Cod sursa (job #2414067) | Cod sursa (job #976420)
Cod sursa(job #976420)
#include <fstream>
#include <vector>
#define Mod 666013
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
struct num
{
int s,x,y;
};
vector <num> H[Mod];
vector <num> :: iterator it;
int i,j,l,n,Sum,S,s1,ind,k,v[103],a[5000],z;
bool ok;
int main ()
{
f>>n>>S;
num t;
for (i=1; i<=n; i++)
f>>v[i];
for (i=1; i<=n; i++)
for (j=1; j<=n; j++)
for (l=1; l<=n; l++)
{
s1=v[i]+v[j]+v[l];
a[++z]=s1;
a[++z]=v[i];
a[++z]=v[j];
a[++z]=v[l];
t.s=s1;
t.x=v[i];
t.y=v[j];
ind=s1%Mod;
H[ind].push_back(t);
}
for (i=1; i<=z; i=i+4)
{
s1=a[i];
k=S-s1;
ind=k%Mod;
for (it=H[ind].begin(); it!=H[ind].end(); it++)
{
if ((*it).s==k)
{
g<<(*it).x<<' '<<(*it).y<<' '<<(*it).s-(*it).x-(*it).y<<' '<<a[i+1]<<' '<<a[i+2]<<' '<<a[i+3];
ok=true;
break;
}
}
if (ok) break;
}
if (!ok) g<<"-1";
return 0;
}