Pagini recente » Cod sursa (job #3170132) | Cod sursa (job #3243691) | Cod sursa (job #251064) | Cod sursa (job #1942692) | Cod sursa (job #1803261)
#include <iostream>
#include <algorithm>
using namespace std;
int x,y,gata;
int v[101];
int sum[1000001];
void cauta(int contor, int s){
int li=1;
int ls=contor;
int sp=0;
while(!gata && li<=ls){
sp=sum[li]+sum[ls];
if(sp<s)
li++;
else if(sp>s)
ls--;
else
gata=1;
}
x=sum[li];
y=sum[ls];
}
int main()
{
FILE *fin, *fout;
int n,s,i,j,k,contor,suma,q,w,e,r,t,u;
fin=fopen("loto.in","r");
fout=fopen("loto.out","w");
fscanf(fin,"%d %d",&n,&s);
for(i=1;i<=n;i++)
fscanf(fin,"%d",&v[i]);
for(contor=0,i=1;i<=n;i++)
for(j=1;j<=n;j++)
for(k=1;k<=n;k++)
sum[contor++]=v[i]+v[j]+v[k];
sort(sum,sum+contor);
cauta(contor-1,s);
if(x+y!=s && gata==0)
fprintf(fout,"-1\n");
else{
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
for(k=1;k<=n;k++){
suma=v[i]+v[j]+v[k];
if(suma==x){
q=v[i];
w=v[j];
e=v[k];
}
if(suma==y){
r=v[i];
t=v[j];
u=v[k];
}
}
fprintf(fout,"%d %d %d %d %d %d\n",q,w,e,r,t,u);
}
fclose(fin);
fclose(fout);
return 0;
}