Pagini recente » Cod sursa (job #240209) | Cod sursa (job #225725) | Cod sursa (job #1622511) | Cod sursa (job #447011) | Cod sursa (job #2809690)
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
vector <int> vs;
int v[105];
int main()
{
bool ok=0;
int n,s,i,j,k,st,dr;
fin>>n>>s;
for(i=1;i<=n;++i){
fin>>v[i];
}
for(i=1;i<=n;++i){
for(j=1;j<=n;++j){
for(k=1;k<=n;++k){
vs.push_back(v[i]+v[j]+v[k]);
}
}
}
sort(vs.begin(),vs.end());
st=0;
dr=vs.size()-1;
while(st<=dr){
if(s==vs[st]+vs[dr]){
ok=1;
break;
} else if(s<vs[st]+vs[dr]){
--dr;
} else {
++st;
}
}
if(ok==0){
fout<<"-1";
} else {
for(i=1;i<=n;++i){
for(j=1;j<=n;++j){
for(k=1;k<=n;++k){
if(v[i]+v[j]+v[k]==vs[st]){
fout<<v[i]<<" "<<v[j]<<" "<<v[k]<<" ";
i=j=k=n+1;
}
}
}
}
for(i=1;i<=n;++i){
for(j=1;j<=n;++j){
for(k=1;k<=n;++k){
if(v[i]+v[j]+v[k]==vs[dr]){
fout<<v[i]<<" "<<v[j]<<" "<<v[k]<<" ";
i=j=k=n+1;
}
}
}
}
}
return 0;
}