Pagini recente » Cod sursa (job #3156021) | Cod sursa (job #3208813) | Cod sursa (job #479726) | Cod sursa (job #249063) | Cod sursa (job #1467357)
#include <fstream>
#include <algorithm>
#include <cstdlib>
#include <bitset>
#define vmax 100000005
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
int i,j,k,n,m,s;
int a[200];
bitset<vmax*3> f;
void _write(int a,int b)
{
if(a>b)
swap(a,b);
for(i=1;i<=n;i++)
for(j=i;j<=n;j++)
for(k=j;k<=n;k++)
{
if(a==i+j+k)
{
fout<<i<<' '<<j<<' '<<k<<' ';
}
if(b==i+j+k)
{
fout<<i<<' '<<j<<' '<<k;
exit(0);
}
}
}
int main()
{
fin>>n>>s;
for(i=1;i<=n;i++)
fin>>a[i];
sort(a+1,a+1+n);
for(i=1;i<=n;i++)
for(j=i;j<=n;j++)
for(k=j;k<=n;k++)
f[i+j+k]=1;
m=3*a[n];
for(i=1;i<=m;i++)
{
if(f[i]==1 && f[s-i]==1)
{
_write(i,s-i);
}
}
fout<<-1;
return 0;
}