Pagini recente » Cod sursa (job #926179) | Cod sursa (job #1300197) | Cod sursa (job #2128011) | Cod sursa (job #1589179) | Cod sursa (job #51477)
Cod sursa(job #51477)
#include<stdio.h>
long v[1000],n;
int Divide(long i,long j) //impart secventa de la x[i] la x[j]
{ int x;
x=v[i];
while (i<j)
{ while (i<j && x<v[j]) j--;
v[i]=v[j];
while (i<j && x>v[i]) i++;
v[j]=v[i];}
v[i]=x;
return i;}
int QuickSort (int i,int j)
{ int m;
if (i<j) { m=Divide(i,j);
QuickSort (1,m-1);
QuickSort (m+1,j);
} return 0;}
int main()
{
long i,k,p,a,j,s,r,ok=1;
FILE*f=fopen("loto.in","r");
FILE*g=fopen("loto.out","w");
fscanf(f,"%ld %ld",&n,&s);
for (i=1;i<=n;i++) fscanf(f,"%ld",&v[i]);
QuickSort (1,n);
for(i=n;i>=1;i--)
{if (!ok) break;
for(j=n;j>=i;j--)
{if (!ok) break;
for(r=n;r>=j;r--)
{if (!ok) break;
for (k=n;k>=r;k--)
{if (!ok) break;
for(p=n;p>=k;p--)
{if (!ok) break;
for (a=n;a>=p;a--)
{
if(v[i]+v[j]+v[r]+v[k]+v[p]+v[a]==s)
{ok=0;fprintf(g,"%ld %ld %ld %ld %ld %ld",v[i],v[j],v[r],v[k],v[p],v[a]); break;} } }}}}}
if (ok!=0) fprintf(g,"-1");
fclose(f);
fclose(g);return 0;}