Pagini recente » Cod sursa (job #2052227) | Cod sursa (job #3173531) | Cod sursa (job #2017516) | Cod sursa (job #1792446) | Cod sursa (job #1809879)
#include <fstream>
#include <algorithm>
using namespace std;
int n,i,j,k,s,m,ok,v[105],q[10];
struct tri
{
int a,b,c,d;
};
tri w[200005];
bool compara(tri A, tri B)
{
return A.a<B.b;
}
int main()
{
ifstream f("loto.in");
ofstream g("loto.out");
f>>n>>s;
for(i=1; i<=n; i++)
f>>v[i];
for(i=1; i<=n; i++)
for(j=i; j<=n; j++)
for(k=j; k<=n; k++)
{
m++;
w[m].a=v[i]+v[j]+v[k];
w[m].b=i;
w[m].c=j;
w[m].d=k;
}
sort(w+1, w+m+1, compara);
i=1;
j=m;
ok=1;
while(i<j&&ok)
{
if(w[i].a+w[j].a>s) j--;
else if(w[i].a+w[j].a<s) i++;
else
{
if(w[i].b!=w[j].b&&w[i].b!=w[j].c&&w[i].b!=w[j].d)
if(w[i].c!=w[j].b&&w[i].c!=w[j].c&&w[i].c!=w[j].d)
if(w[i].d!=w[j].b&&w[i].d!=w[j].c&&w[i].d!=w[j].d)
{
ok=0;
q[1]=w[i].b;
q[2]=w[i].c;
q[3]=w[i].d;
q[4]=w[j].b;
q[5]=w[j].c;
q[6]=w[j].d;
sort(q+1, q+7);
g<<v[q[1]]<<" "<<v[q[2]]<<" "<<v[q[3]]<<" "<<v[q[4]]<<" "<<v[q[5]]<<" "<<v[q[6]]<<'\n';
}
}
}
if(ok) g<<"-1\n";
f.close(); g.close();
return 0;
}