Pagini recente » Cod sursa (job #356881) | Cod sursa (job #2221102) | Cod sursa (job #317320) | Cod sursa (job #2587455) | Cod sursa (job #1803389)
#include <stdio.h>
#include <iostream>
#include <algorithm>
#define MAX 1000000
using namespace std;
int v[100], help[MAX], n;
FILE *fin, *fout;
void afis(int x)
{
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
for(int l = 0; l < n; l++)
if(x == v[i] + v[j] + v[l]) {
fprintf(fout, "%d %d %d ", v[i] , v[j] , v[l]);
return;
}
}
int main()
{
int s, i, j, l, m, semafor;
fin = fopen("loto.in", "r");
fout = fopen("loto.out", "w");
fscanf(fin, "%d%d", &n, &s);
for(i = 0; i < n; i++)
fscanf(fin, "%d", &v[i]);
m = 0;
for(i = 0; i < n; i++)
for(j = 0; j < n; j++)
for(l = 0; l < n; l++)
{
help[m] = v[i] + v[j] + v[l];
m++;
}
sort(help, help + m);
semafor = 0;
i = 0;
j = m - 1;
while(semafor == 0 && i < m && j >= 0)
{
if(help[i] + help[j] < s)i++;
else if(help[i] + help[j] > s)j--;
else
{
afis(help[i]);
afis(help[j]);
semafor = 1;
}
}
if(semafor == 0)fprintf(fout, "%d", -1);
fclose( fin );
fclose( fout );
return 0;
}