Pagini recente » Cod sursa (job #2404219) | Cod sursa (job #1689398) | Cod sursa (job #3288691) | Cod sursa (job #2035075) | Cod sursa (job #1319432)
#include <vector>
#include <fstream>
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
struct suma
{
int v,e1,e2,e3;
};
int main()
{
vector <suma> sum[100007];
bool l;
int num,y,n,a[200],s,key;
f>>n>>s;
for(int i=1;i<=n;i++)
f>>a[i];
for(int i1=1;i1<=n;i1++)
for(int i2=1;i2<=n;i2++)
for(int i3=1;i3<=n;i3++)
{
key=(a[i1]+a[i2]+a[i3])%100007;
l=0;
for(y=0;y<sum[key].size();y++)
{
if(a[i1]+a[i2]+a[i3]==sum[key][y].v)
{
l=1;
break;
}
}
if(!l)
{
suma p;
p.v=a[i1]+a[i2]+a[i3];
p.e1=a[i1];p.e2=a[i2];p.e3=a[i3];
sum[key].push_back(p);
}
}
for(int i=0;i<100007;i++)
{
for(int j=0;j<sum[i].size();j++)
{
int e=sum[i][j].v;num=s-e;
key=num%100007;
l=0;
for(y=0;y<sum[key].size();y++)
if(num==sum[key][y].v)
{
g<<sum[i][j].e1<<' '<<sum[i][j].e2<<' '<<sum[i][j].e3<<' '<<sum[key][y].e1<<' '<<sum[key][y].e2<<' '<<sum[key][y].e3<<"\n";
l=1;
break;
}
if(l)
break;
}
if(l)
break;
}
if(!l)
g<<"-1\n";
f.close();g.close();
return 0;
}