Pagini recente » Rating David Chisalita (ADDIVE) | Cod sursa (job #952495) | Istoria paginii utilizator/poenaru_andrei | Cod sursa (job #2109095) | Cod sursa (job #777680)
Cod sursa(job #777680)
#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,suma;
struct st
{
int s,a,b,c;
}r;
vector<st> H[MOD+100];
void solve(){
int i , j , k , ok=0 , x, y;
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]<=suma){
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=suma-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";
}
int main()
{
int i ;
f>>n>>suma;
for (i=1; i<=n ; i++) f>>a[i];
solve();
return 0;
}