Pagini recente » Cod sursa (job #2877921) | Cod sursa (job #2200767) | Cod sursa (job #2101874) | Cod sursa (job #463749) | Cod sursa (job #812376)
Cod sursa(job #812376)
#include <stdio.h>
#include <vector>
#define mod 666013
using namespace std;
FILE *f=fopen("loto.in","r"), *g=fopen("loto.out","w");
int v[101];
void quick_sort(int v[],int left,int right)
{
int i=left, j=right, p=v[(left+right)/2],aux;
while(i<=j)
{
while(v[i]<p)
i++;
while(v[j]>p)
j--;
if(i<=j)
{
aux=v[i];
v[i]=v[j];
v[j]=aux;
i++;
j--;
}
}
if(left<j)
quick_sort(v,left,j);
if(i<right)
quick_sort(v,i,right);
}
int main()
{
long sum;
int n, i, j, k, s, t, u;
fscanf(f,"%d""%ld", &n, &sum);
for(i=0;i<n;i++)
fscanf(f, "%d", &v[i]);
quick_sort(v, 0, n-1);
if( (v[0] * 6)>sum && (v[n-1] * 6)<sum)
{
fprintf(g, "%d", -1);
return 0;
}
for(i=0; i<n && (v[i] * 6) <= sum; i++)
for(j=i; j<n && ((v[i] + v[j] * 5) <= sum) && ((v[i] + v[n-1] * 5) >= sum); j++)
for(k=j; k<n && ((v[i] + v[j] + v[k] * 4) <= sum) && ((v[i] + v[j] + v[n-1] * 4) >= sum); k++)
for(t=k; t<n && ((v[i] + v[j] + v[k] + v[t] * 3) <= sum) && ((v[i] + v[j] + v[k] + v[n-1] * 3) >= sum); t++)
for(s=t; s<n && ((v[i] + v[j] + v[k] + v[t] + v[s] * 2) <= sum) && ((v[i] + v[j] + v[k] + v[t] + v[n-1] * 2) >= sum); s++)
for(u=s; u<n && ((v[i] + v[j] + v[k] + v[t] + v[s] + v[n-1]) >= sum); u++)
if((v[i] + v[j] + v[k] + v[t] + v[s] + v[u])==sum)
{
fprintf(g, "%ld %ld %ld %ld %ld %ld", v[i], v[j], v[k], v[t], v[s], v[u]);
return 0;
}
fprintf(g, "%d", -1);
return 0;
}