Pagini recente » Cod sursa (job #785900) | Cod sursa (job #1863294) | Cod sursa (job #2944155) | Cod sursa (job #994514) | Cod sursa (job #320057)
Cod sursa(job #320057)
#include <iostream>
#include <stdlib.h>
#include <fstream>
using namespace std;
long N,S;
long vec[100];
// --------------------------------------
int main();
int _tmain(int argc, char* argv[])
{
return main();
}
int main()
{
ifstream in("loto.in");
ofstream out("loto.out");
long i;
long maxim;
long * end;
long * v1,*v2,*v3,*v4,*v5,*v6;
long sum1,sum2,sum3,sum4,sum5;
in >> N >> S;
for(i = 0; i < N ;i++)
{
in >> vec[i];
if( i == 0 ) maxim = vec[0];
else if( maxim < vec[i] ) maxim = vec[i];
}
if( maxim * 6 == S )
{
out
<< maxim << " "
<< maxim << " "
<< maxim << " "
<< maxim << " "
<< maxim << " "
<< maxim;
return 0;
}else
if( maxim * 6 < S )
{
out << -1;
return -1;
}
end = &vec[N];
for(v1 = &vec[0]; v1 != end ; v1 ++)
{
sum5 =
sum4 =
sum3 =
sum2 =
sum1 = *v1;
if( sum1 > S )continue;
for(v2 = v1; v2 != end; v2++)
{
sum2 = sum1 + *v2;
if( sum2 > S )continue;
for(v3 = v2; v3 != end; v3++)
{
sum3 = sum2 + *v3;
if( sum3 > S )continue;
for(v4 = v3; v4 != end; v4++)
{
sum4 = sum3 + *v4;
if( sum4 > S )continue;
for(v5 = v4; v5 != end; v5++)
{
sum5 = sum4 + *v5;
if( sum5 > S )continue;
for(v6 = v5; v6 != end; v6++)
{
if( (sum5 + *v6) == S )
{
out << *v1 << " "
<< *v2 << " "
<< *v3 << " "
<< *v4 << " "
<< *v5 << " "
<< *v6;
return 0;
}
}
}
}
}
}
}
out << -1;
return 0;
}