Pagini recente » Cod sursa (job #330514) | Cod sursa (job #1623862) | Cod sursa (job #2783740) | Cod sursa (job #1226057) | Cod sursa (job #2471772)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
struct ceva
{
int sum;
int x, y, z;
} v[1000003];
int n,s,l,a[103];
bool cmp(ceva x, ceva y)
{
return x.sum<y.sum;
}
int main()
{
f>>n>>s;
for(int i=1; i<=n; ++i)
{
f>>a[i];
}
for(int i=1; i<=n; ++i)
{
for(int j=i; j<=n; ++j)
{
for(int k=j; k<=n; ++k)
{
++l;
v[l].x=a[i];
v[l].y=a[j];
v[l].z=a[k];
v[l].sum=v[l].x+v[l].y+v[l].z;
}
}
}
sort(v+1, v+l+1, cmp);
for(int i=1; i<=l; ++i)
{
int x=s-v[i].sum;
int st=1, dr=l, m;
while(dr>st)
{
m=(dr+st)/2;
if(v[m].sum<x) st=m+1;
else if(v[m].sum>x) dr=m-1;
else
{
g<<v[i].x<<" "<<v[i].y<<" "<<v[i].z<<" "<<v[m].x<<" "<<v[m].y<<" "<<v[m].z<<"\n";
return 0;
}
}
m=(dr+st)/2;
if(x==v[m].sum)
{
g<<v[i].x<<" "<<v[i].y<<" "<<v[i].z<<" "<<v[m].x<<" "<<v[m].y<<" "<<v[m].z<<"\n";
return 0;
}
}
g<<-1<<"\n";
return 0;
}