Pagini recente » Cod sursa (job #78460) | Cod sursa (job #2441817) | Cod sursa (job #531557) | Cod sursa (job #642133) | Cod sursa (job #424811)
Cod sursa(job #424811)
#include<fstream>
#include<algorithm>
using namespace std;
void read();
void doit();
int n;
long long s;
int v[105], v1[105], v2[105];
pair<int, int> ta1[105], ta2[105];
int t1 = -1, t2 = -1;
int main() {
read();
doit();
return 0;
}
void read() {
ifstream fin("loto.in");
fin >> n >> s;
for (int i = 0; i < n; ++i)
fin >> v[i];
fin.close();
}
void doit() {
int i, j;
for (i = 0; i < n; ++i)
for (j = 0; j < n; ++j) {
v1[++t1] = v[i] + v[j];
ta1[t1].first = i;
ta1[t1].second = j;
}
for (i = 0; i < n; ++i)
for (j = 0; j <= t1; ++j) {
v2[++t2] = v[i] + v1[j];
ta2[t2].first = i;
ta2[t2].second = j;
}
int pos;
ofstream fout("loto.out");
for (i = 0; i <= t2; ++i) {
pos = -1;
for (j = 0; j <= t2; ++j)
if (v2[j] == s - v2[i]) {
pos = j;
break;
}
if (pos != -1) {
fout << v[ta2[i].first] << ' ' << v[ta2[pos].first] << ' '
<< v[ta1[ta2[i].second].first] << ' ' << v[ta1[ta2[i].second].second] << ' '
<< v[ta1[ta2[pos].second].first] << ' ' << v[ta1[ta2[pos].second].second];
fout.close();
return;
}
}
fout << -1;
fout.close();
}