Pagini recente » Cod sursa (job #88642) | Cod sursa (job #505611) | Cod sursa (job #2936922) | Cod sursa (job #3209037) | Cod sursa (job #434963)
Cod sursa(job #434963)
#include<cstdio>
using namespace std;
FILE *f=fopen("loto.in","r"), *g=fopen("loto.out","w");
int n,sase=6;
long s,a[100],stiva[6];
void quicksort(int lo, int hi)
{
int i=lo,j=hi;
long interm,m=a[(lo+hi)/2];
do
{
while(a[i]<m) i++;
while(a[j]>m) j--;
if(i<=j)
interm=a[i],
a[i]=a[j],
a[j]=interm,
i++,
j--;
}while(i<=j);
if(lo<j) quicksort(lo,j);
if(i<hi) quicksort(i,hi);
}
void back()
{
int i=n-1,st=0;
while(sase && i>-1)
{
if(s-a[i]>=a[0]*(sase-1))
stiva[st]=a[i],
st++,
s-=a[i],
sase--;
else i--;
}
if(s) fprintf(g,"-1");
else for(i=st-1;i>-1;i--) fprintf(g,"%ld ",stiva[i]);
}
int main()
{
fscanf(f,"%d %ld",&n,&s);
for(int i=0;i<n;i++)
fscanf(f,"%ld",&a[i]);
quicksort(0,n-1);
back();
return 0;
}