Pagini recente » Cod sursa (job #903238) | Cod sursa (job #804310) | Cod sursa (job #2826712) | Cod sursa (job #2086912) | Cod sursa (job #1221053)
# include <fstream>
# define mod 666013
using namespace std;
ifstream fi("loto.in");
ofstream fo("loto.out");
typedef struct node
{
int x,y,z,s;
node *next;
} *nod;
nod S[mod];
bool find(int s)
{
int m=s%mod;
for (nod p=S[m];p;p=p->next)
if (p->s==s) return 0;
return 1;
}
int main(void)
{
int n,p;
fi>>n>>p;
int s[n+5];
for (int i=1;i<=n;++i) fi>>s[i];
for (int i=1;i<=n;++i)
for (int j=1;j<=n;++j)
for (int x=1;x<=n;++x)
{
nod p=new node;
p->x=i;p->y=j;p->z=x;p->s=s[i]+s[j]+s[x];
int m=(s[i]+s[j]+s[x])%mod;
p->next=S[m];S[m]=p;
}
for (int i=1;i<=n;++i)
for (int j=1;j<=n;++j)
for (int x=1;x<=n;++x)
if (p>=s[i]+s[j]+s[x])
{
int k,m=(k=(p-s[i]-s[j]-s[x]))%mod;
for (nod p=S[m];p;p=p->next)
if (p->s==k)
{
fo<<s[i]<<" "<<s[j]<<" "<<s[x]<<" "<<s[p->x]<<" "<<s[p->y]<<" "<<s[p->z]<<"\n";
return 0;
}
}
fo<<"-1\n";
return 0;
}