Pagini recente » Cod sursa (job #517989) | Cod sursa (job #3228689) | Cod sursa (job #916993) | Cod sursa (job #1634998) | Cod sursa (job #2420471)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
struct st{
int s;
int a;
int b;
int c;};
int n,a[101],sum,i,j,k,l,str,dr,mij,x;
st s[1000001];
int cmp(st x,st y){
return x.s<y.s;
}
int main(){
fin>>n>>sum;
for(i=1;i<=n;++i)
fin>>a[i];
for(i=1;i<=n;++i)
for(j=i;j<=n;++j)
for(k=j;k<=n;++k){
++l;
s[l].s=a[i]+a[j]+a[k];
s[l].a=a[i];
s[l].b=a[j];
s[l].c=a[k];
}
sort(s+1,s+l+1,cmp);
for(i=1;i<=l;++i){
x=sum-s[i].s;
str=1;
dr=l;
while(str<=dr){
mij=str+dr/2;
if(s[mij].s==x){
fout<<s[mij].a<<" "<<s[mij].b<<" "<<s[mij].c<<" "<<s[i].a<<" "<<s[i].b<<" "<<s[i].c<<" ";
return 0;
}
if(s[mij].s>x)
dr=mij-1;
if(s[mij].s<x)
str=mij+1;
}
}
fout<<-1;
}