Pagini recente » Cod sursa (job #2017393) | Cod sursa (job #2297503) | Cod sursa (job #2040584) | Cod sursa (job #2002442) | Cod sursa (job #661006)
Cod sursa(job #661006)
#include<fstream>
#include<vector>
#define NMAX 110
#define MOD 666013
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
int a[NMAX], n, S;
struct st
{
int s, a, b, c;
}r;
vector<st> h[MOD+100];
void Citeste()
{
int i;
f>>n>>S;
for (i=1; i<=n; ++i) f>>a[i];
}
void Rezolva()
{
int i, j, k, ok=0, y, x;
vector<st>:: iterator it;
for (i=1; i<=n; ++i)
for (j=i; j<=n; ++j)
for (k=j; k<=n; ++k)
if (a[i]+a[j]+a[k]<=S)
{
r.s=a[i]+a[j]+a[k]; r.a=a[i]; r.b=a[j]; r.c=a[k];
x=r.s%MOD;
h[x].push_back(r);
x=S-r.s;
y=x%MOD;
for (it=h[y].begin(); it!=h[y].end(); ++it)
if ((*it).s==x)
{
g<<a[i]<<" "<<a[j]<<" "<<a[k]<<" "<<(*it).a<<" "<<(*it).b<<" "<<(*it).c<<"\n";
ok=1; i=n+1; j=n+1; k=n+1;
break;
}
}
if (!ok) g<<"-1\n";
}
int main()
{
Citeste();
Rezolva();
f.close();
g.close();
return 0;
}