Pagini recente » Cod sursa (job #317259) | Cod sursa (job #1150867) | Istoria paginii runda/cihcahul01 | Cod sursa (job #1794537) | Cod sursa (job #2439358)
#include <bits/stdc++.h>
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
struct wow
{
int suma,a,b,c;
}val[1000005];
int compare (wow a,wow b)
{
return a.suma<b.suma;
}
int n,s,v[105],i,j,k,q,cecaut,st,dr,mij,sol;
int main()
{
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++)
{
val[++q].suma=v[i]+v[j]+v[k];
val[q].a=v[i];
val[q].b=v[j];
val[q].c=v[k];
}
}
}
sort (val+1,val+q+1,compare);
for (i=1;i<=q&&val[i].suma<=s/2;i++)
{
cecaut=s-val[i].suma;
st=1;
dr=q;
sol=0;
while (st<=dr)
{
mij=(st+dr)/2;
if (val[mij].suma==cecaut)
{
sol=mij;
break;
}
else
if (val[mij].suma<cecaut)
{
st=mij+1;
}
else
{
dr=mij-1;
}
}
if (sol!=0)
{
g<<val[i].a<<" "<<val[i].b<<" "<<val[i].c<<" "<<val[sol].a<<" "<<val[sol].b<<" "<<val[sol].c;
return 0;
}
}
g<<"-1";
return 0;
}