Pagini recente » Cod sursa (job #1399096) | Cod sursa (job #2235540) | Cod sursa (job #662649) | Monitorul de evaluare | Cod sursa (job #1679891)
#include <cstdio>
#include<algorithm>
#include<vector>
#define MOD 1000003
#define MAX 100
using namespace std;
struct aa{
int x, y, z, s;
};
vector<aa>hash1[MOD];
int v[MAX+1], n;
inline void insert(int a, int i, int j, int k)
{
aa curent;
curent.s=a;
curent.x=i;
curent.y=j;
curent.z=k;
hash1[a%MOD].push_back(curent);
}
inline int search(int a)
{
int i=0, poz=-1, f=0, h=a%MOD;
while(i<hash1[h].size()&&f==0){
if(hash1[h][i].s==a)
{
f=1;
poz=i;
}
i++;
}
return poz;
}
int main()
{
freopen("loto.in", "r", stdin);
freopen("loto.out", "w", stdout);
int i, j, k, sum, a, poz;
scanf("%d%d", &n, &sum);
for(i=1;i<=n;i++)
scanf("%d", &v[i]);
sort(v+1, v+n+1);
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
for(k=1;k<=n;k++)
if(v[i]+v[j]+v[k]<sum)
{
if(search(v[i]+v[j]+v[k])==-1)
insert(v[i]+v[j]+v[k], i, j, k);
a=sum-(v[i]+v[j]+v[k]);
poz=search(a);
if(poz!=-1)
{
printf("%d %d %d %d %d %d", v[i], v[j], v[k], hash1[a%MOD][poz].x, hash1[a%MOD][poz].y, hash1[a%MOD][poz].z);
return 0;
}
}
printf("-1");
return 0;
}