Pagini recente » Cod sursa (job #1514316) | Cod sursa (job #2048162) | Cod sursa (job #2210122) | Cod sursa (job #1401191) | Cod sursa (job #811632)
Cod sursa(job #811632)
#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
vector <long> a;
bool myfunction (int i,int j) { return (i>j); }
int main()
{
FILE *input = fopen("loto.in","r");
FILE *output = fopen("loto.out","w");
long s;
int n;
fscanf(input,"%d%ld",&n,&s);
for (int i=0;i<n;i++)
{
long x;
fscanf(input,"%ld",&x);
a.push_back(x);
}
sort(a.begin(),a.end(),myfunction);
int stop = 1;
int i,x,y,z,k,m;
for (i=0;i<n&&stop&&a[i]*6>=s;i++)
for (x=i;x<n&&stop&&a[i]+a[x]*5>=s&&a[i]+a[n-1]*5<=s;x++)
for (y=x;y<n&&stop&&a[i]+a[x]+a[y]*4>=s&&a[i]+a[x]+a[n-1]*4<=s;y++)
for (z=y;z<n&&stop&&a[i]+a[x]+a[y]+a[z]*3>=s&&a[i]+a[x]+a[y]+a[n-1]*3<=s;z++)
for (k=z;k<n&&stop&&a[i]+a[x]+a[y]+a[z]+a[k]*2>=s&&a[i]+a[x]+a[y]+a[z]+a[n-1]*2<=s;k++)
for (m=k;m<n&&stop&&a[i]+a[x]+a[y]+a[z]+a[k]+a[m]>=s;m++)
if (a[i]+a[x]+a[y]+a[z]+a[k]+a[m] == s)
{
fprintf(output,"%ld %ld %ld %ld %ld %ld",a[i],a[x],a[y],a[z],a[k],a[m]);
stop = 0;
}
if (stop) fprintf(output,"-1");
fclose(input);
fclose(output);
cout << "Hello world!" << endl;
return 0;
}