Pagini recente » Cod sursa (job #1431568) | Cod sursa (job #925374) | Cod sursa (job #1995827) | Cod sursa (job #2314972) | Cod sursa (job #941995)
Cod sursa(job #941995)
#include<cstdio>
#include<algorithm>
#define NMAX 105
FILE *f=fopen("loto.in","r");
FILE *g=fopen("loto.out","w");
using namespace std;
struct loto
{
int first_elem,second_elem,third_elem;
int sum;
loto()
{
first_elem=second_elem=third_elem=0;
sum=0;
}
};
loto a[1000001];
int v[NMAX],n,S;
void Read( void )
{
fscanf(f,"%d%d",&n,&S);
for(int i(1) ; i <= n ; ++i )
fscanf(f,"%d",&v[i]);
fclose(f);
}
bool cmp ( loto a, loto b)
{
return a.sum<b.sum;
}
void Solve_Write ( void )
{
bool ok=false;
int numb(0);
for(int i(1) ; i <= n ; ++i )
for(int ii(i) ; ii <= n ; ++ii )
for(int iii(ii) ; iii <= n ; ++iii )
{
a[++numb].sum=v[i]+v[ii]+v[iii];
a[numb].first_elem=v[i];
a[numb].second_elem=v[ii];
a[numb].third_elem=v[iii];
}
sort(a+1,a+numb+1,cmp);
for(int i(1) ; i<= numb ;)
{
int dif=S-a[i].sum;
while ( a[numb].sum > dif )
--numb;
if( a[numb].sum == dif )
{
ok=true;
fprintf(g,"%d %d %d %d %d %d" ,a[i].first_elem, a[i].second_elem,a[i].third_elem,a[numb].first_elem,a[numb].second_elem,a[numb].third_elem );
break;
}
++i;
}
if( ok == false)
fprintf(g,"-1");
}
int main ( void )
{
Read();
Solve_Write();
return 0;
}