Pagini recente » Cod sursa (job #3120896) | Cod sursa (job #274455) | Cod sursa (job #3238176) | Cod sursa (job #2836319) | Cod sursa (job #541893)
Cod sursa(job #541893)
#include<cstdio>
FILE *in,*out;
int v[100],man,s,flag=1,i,j,k,l,m,o,n,max;
void quick(int v[],int size)
{
if(size<=1) return;
int p=v[(size-1)/2],l=0,u=size-1;
while(l<u)
{
while(v[l]>p)l++;
while(v[u]<p)u--;
if(l<u){v[l]=v[l]+v[u];v[u]=v[l]-v[u];v[l]=v[l]-v[u];}
}
quick(v,l);
quick(&(v[l+1]),size-u-1);
}
int main()
{
in=fopen("loto.in","r");
fscanf(in,"%d %d",&n,&s);
for(i=0;i<n;i++)
fscanf(in,"%d",&v[i]);
/*for(i=0;i<n-1;i++)
{
max=i;
for(j=i+1;j<n;j++)if(v[j]>v[max]) max=j;
man=v[i];
v[i]=v[max];
v[max]=man;
}*/
quick(v,n);
for(i=0;i<n;i++)printf("%d ",v[i]);
out=fopen("loto.out","w");
flag=1;
for(i=0;flag&&i<n&&v[i]*6>=s;i++)
for(j=i;flag&&j<n&&(v[i]+v[j]*5)>=s;j++)
for(k=j;flag&&k<n&&(v[i]+v[j]+v[k]*4)>=s;k++)
for(l=k;flag&&l<n&&(v[i]+v[j]+v[k]+v[l]*3)>=s;l++)
for(m=l;flag&&m<n&&(v[i]+v[j]+v[k]+v[l]+v[m]*2)>=s;m++)
for(o=m;flag&&o<n&&(v[i]+v[j]+v[k]+v[l]+v[m]+v[o])>=s;o++)
if((v[i]+v[j]+v[k]+v[l]+v[m]+v[o])==s){fprintf(out,"%d %d %d %d %d %d",v[i],v[j],v[k],v[l],v[m],v[o]);flag=0;}
if(flag)fprintf(out,"-1");
fclose(out);
return 0;
}