Pagini recente » Borderou de evaluare (job #1949836) | Cod sursa (job #1172538)
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
struct P
{
int a,b,c,d;
};
vector<P>S;
vector<P>::iterator it,itt;
P aux;
int i,j,k,n,s,suma,a[110],sum;
ifstream fin("loto.in");
ofstream fout("loto.out");
bool crit(P a,P b)
{
return a.a<b.a;
}
int main()
{
fin>>n>>s;
for(i=1;i<=n;i++)
fin>>a[i];
for(i=1;i<=n;i++)
for(j=i;j<=n;j++)
for(k=j;k<=n;k++)
{
suma=a[i]+a[j]+a[k];
aux.a=suma;
aux.b=a[i];
aux.c=a[j];
aux.d=a[k];
S.push_back(aux);
}
sort(S.begin(),S.end(),crit);
for(it=S.begin();it->a<=s;it++)
{
aux.a=s-it->a;
itt=lower_bound(S.begin(),S.end(),aux,crit);
if(it->a+itt->a==s)
{
fout<<it->b<<' '<<it->c<<' '<<it->d<<' '<<itt->b<<' '<<itt->c<<' '<<itt->d;
return 0;
}
}
fout<<"-1";
return 0;
}