Pagini recente » Cod sursa (job #379939) | Cod sursa (job #398230) | Cod sursa (job #1765070) | Cod sursa (job #764397) | Cod sursa (job #1780664)
#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 art {int s, a, b, c;} r;
vector <art> h[MOD+100];
int main()
{ f>>n>>S;
for(int i=1; i<=n; ++i) f>>a[i];
int y, x; bool w=true;
for (int i=1; i<=n && w; ++i)
for (int j=i; j<=n && w; ++j)
for (int k=j; k<=n && w; ++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;
vector <art> :: iterator it=h[y].begin(), sf=h[y].end();
for(; it != sf; ++it)
if((*it).s==x)
{
g<<a[i]<<" "<<a[j]<<" "<<a[k]<<" "<<(*it).a;
g<<" "<<(*it).b<<" "<<(*it).c<<"\n";
w=false;
}
}
if (w) g<<"-1\n";
g.close(); return 0;
}