Pagini recente » Cod sursa (job #457790) | Cod sursa (job #1649458) | Cod sursa (job #1170558) | Cod sursa (job #3170448) | Cod sursa (job #529259)
Cod sursa(job #529259)
#include<iostream>
#include<fstream>
#include<algorithm>
using namespace std;
ifstream aa("loto.in");
ofstream ss("loto.out");
int n,s,i,j,k,x[101],y[1000001],z[3][1000001],qq[7],nr,pas;
int main() {
aa >> n >> s;
for (i=1;i<=n;++i) {
aa >> x[i];
}
sort(&x[1],&x[n]);
for (i=1;i<=n;++i) {
for (j=1;j<=n;++j) {
for (k=1;k<=n;++k) {
y[++nr]=x[i]+x[j]+x[k];
z[0][nr]=i; z[1][nr]=j; z[2][nr]=k;
}
}
}
int q=n*n*n,oo=0;
for (i=1;i<=nr;++i) {
pas=1<<18;
for (j=0;pas>0;pas>>=1) {
while (j+pas<=q && y[j+pas]+y[i]<=s)
j+=pas;
}
if (y[j]+y[i]==s) {
qq[1]=z[0][i]; qq[2]=z[1][i]; qq[3]=z[2][i]; qq[4]=z[0][j]; qq[5]=z[1][j]; qq[6]=z[2][j];
sort(&qq[1],&qq[6]);
for (i=1;i<=6;++i)
ss << qq[i] << " ";
oo=1;
break;
}
}
if (oo==0) ss << "-1";
return 0;
}