Pagini recente » Cod sursa (job #1486676) | Istoria paginii runda/cls9_pb/clasament | Cod sursa (job #2402566) | Istoria paginii runda/adfwgscv/clasament | Cod sursa (job #2359170)
#include <bits/stdc++.h>
#define Nmax 102
using namespace std;
int n,s,A[Nmax];
unordered_set<int> S;
void afisare(int s){
for (int i=1;i<=n;i++){
for (int j=i;j<=n;j++){
for (int k=j;k<=n;k++){
if (A[i] + A[j] + A[k] == s){
cout << A[i] << ' ' << A[j] << ' ' << A[k] << '\n';
}
}
}
}
}
int main()
{
ios::sync_with_stdio(false);
freopen("loto.in","r",stdin);
freopen("loto.out","w",stdout);
cin >> n >> s;
for (int i=1;i<=n;i++) cin >> A[i];
for (int i=1;i<=n;i++){
for (int j=i;j<=n;j++){
for (int k=j;k<=n;k++){
S.insert(A[i] + A[j] + A[k]);
}
}
}
for (int i=1;i<=n;i++){
for (int j=i;j<=n;j++){
for (int k=j;k<=n;k++){
if (S.find(s - A[i] - A[j] - A[k]) != S.end()){
cout << A[i] << ' ' << A[j] << ' ' << A[k] << ' ';
afisare(s - A[i] - A[j] - A[k]);
return 0;
}
}
}
}
cout << -1 << '\n';
return 0;
}