Pagini recente » Cod sursa (job #2804219) | Cod sursa (job #1926596) | Cod sursa (job #2597122) | Cod sursa (job #406170) | Cod sursa (job #524417)
Cod sursa(job #524417)
#include<stdio.h>
FILE *in,*out;
int v[101],n,i,x1,x2,x3,x4,x5,x6,S;
int verificare();
void Quicksort (int data[],int left,int right) {
int mid,tmp,i,j;
i = left;
j = right;
mid = data[(left + right)/2];
do {
while(data[i] < mid)
i++;
while(mid < data[j])
j--;
if (i <= j) {
tmp = data[i];
data[i] = data[j];
data[j] = tmp;
i++;
j--;
}
} while (i <= j);
if (left < j) Quicksort(data,left,j);
if (i < right) Quicksort(data,i,right);
}
int main()
{
in=fopen("loto.in","rt");
out=fopen("loto.out","wt");
fscanf(in,"%d %d",&n,&S);
for(i=1;i<=n;i++)
fscanf(in,"%d",&v[i]);
Quicksort(v,1,n);
if( !verificare() )
fprintf(out,"-1");
}
int verificare()
{
for(x1=1;x1<=n;x1++)
{
if(v[x1]>=S)
break;
else
for(x2=1;x2<=n;x2++)
{
if(v[x1]+v[x2]>=S)
break;
else
{
for(x3=1;x3<=n;x3++)
if(v[x1]+v[x2]+v[x3]>=S)
break;
else
{
for(x4=1;x4<=n;x4++)
{
if(v[x1]+v[x2]+v[x3]+v[x4]>=S)
break;
else
{
for(x5=1;x5<=n;x5++)
{
if(v[x1]+v[x2]+v[x3]+v[x4]+v[x5]>=S)
break;
else
{
for(x6=1;x6<=n;x6++)
{
if(v[x1]+v[x2]+v[x3]+v[x4]+v[x5]+v[x6]>S)
break;
else
if(v[x1]+v[x2]+v[x3]+v[x4]+v[x5]+v[x6]==S)
{
fprintf(out,"%d %d %d %d %d %d",v[x1],v[x2],v[x3],v[x4],v[x5],v[x6]);
return 1;
}
}
}
}
}
}
}
return 0;
}
}
}
}