Pagini recente » Cod sursa (job #2409551) | Cod sursa (job #2504704) | Cod sursa (job #1468962) | Cod sursa (job #2620674) | Cod sursa (job #2976911)
#include <fstream>
#include<algorithm>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
struct elem
{
int x,y,z;
long long sum;
}s[1000005];
int v[105],m;
int n;
long long S,ss;
bool cmp(elem x,elem y)
{
return x.sum<y.sum;
}
int main()
{
fin>>n>>S;
for(int i=1;i<=n;i++)
fin>>v[i];
for(int i=1;i<=n;i++)
for(int j=i;j<=n;j++)
for(int k=j;k<=n;k++)
{
s[++m].x=v[i];
s[m].y=v[j];
s[m].z=v[k];
s[m].sum=v[i]+v[j]+v[k];
}
sort(s+1,s+m+1,cmp);
for(int i=1;i<=m;i++)
{
ss=S-s[i].sum;
int st=1;
int dr=m;
while(st<=dr)
{
int mid=(st+dr)/2;
if(s[mid].sum==ss)
{
fout<<s[i].x<<" "<<s[i].y<<" "<<s[i].z<<" "<<s[mid].x<<" "<<s[mid].y<<" "<<s[mid].z;
return 0;
}
else
if(s[mid].sum<ss)
st=mid+1;
else
dr=mid-1;
}
}
fout<<-1;
return 0;
}