Pagini recente » Cod sursa (job #3210137) | Cod sursa (job #2299508) | Cod sursa (job #941242) | Cod sursa (job #1546350) | Cod sursa (job #602901)
Cod sursa(job #602901)
#include <fstream>
#include <algorithm>
#define nmax 1000000
using namespace std;
typedef struct { int a,b,c,suma; } triplet;
triplet c[nmax];
int a[101],n,s;
bool comparare(triplet a,triplet b)
{
return a.suma>b.suma;
}
int main(void){
int i,j,k,nr;;
ifstream fin("loto.in");
ofstream fout("loto.out");
fin>>n>>s; nr=0;
for(i=1;i<=n;++i)fin>>a[i]; fin.close();
for(i=1;i<=n;++i)
for(j=i;j<=n;++j)
for(k=j;k<=n;++k)
c[++nr].suma=(c[nr].a=a[i])+(c[nr].b=a[j])+(c[nr].c=a[k]);
sort(c+1,c+nr+1,comparare);
i=1; j=nr;
while((c[i].suma+c[j].suma!=s) && (i<j))
if(c[i].suma+c[j].suma<s) --j;
else ++i;
if (i<=j) fout<<c[i].a<<" "<<c[i].b<<" "<<c[i].c<<" "<<c[j].a<<" "<<c[j].b<<" "<<c[j].c<<" ";
else fout<<"-1";
fout.close();
return 0;
}