Pagini recente » Cod sursa (job #1335068) | Cod sursa (job #1138314) | Cod sursa (job #1979174) | Cod sursa (job #81671) | Cod sursa (job #118589)
Cod sursa(job #118589)
#include<stdio.h>
int i2,max,n,i,k,j,l,m,s,r,p,u,mi,x;
int v[101],t[101];
int main(){
FILE *f=fopen("loto.in","r");
fscanf(f,"%d",&n);
fscanf(f,"%d",&s);
for(i=1;i<=101;i++){
v[i]=-1;
}
for(i=1;i<=n;i++){
fscanf(f,"%d",&x);
v[x]=x;
if(v[x]>max)max=v[x];
}
fclose(f);
for(i=1;i<=max;i++){
if(v[i]!=-1){k++;t[k]=v[i];}
}
FILE *g=fopen("loto.out","w");
int ok=1;
for(i=1;i<=n&&ok;i++){
for(j=2;j<=n&&ok;j++){
for(k=3;k<=n&&ok;k++){
for(l=4;l<=n&&ok;l++){
for(m=5;m<=n&&ok;m++){
r=s-(t[i]+t[j]+t[k]+t[l]+t[m]);
p=1;u=n;
while(p<=u){
mi=(p+u)/2;
if(v[mi]==r){ok=0;break;}
if(v[mi]>r){
u=mi-1;
}
if(v[mi]<r){
p=mi+1;
}
}
}
}
}
}
}
if(ok==1){fprintf(g,"%d",-1); }
else {fprintf(g,"%d %d %d %d %d %d",v[i],v[j],v[k],v[l],v[m],v[mi]);
}
fclose(g);
return 0;
}