Pagini recente » Cod sursa (job #3262604) | Cod sursa (job #2549650) | Cod sursa (job #1107455) | Cod sursa (job #507518) | Cod sursa (job #2761224)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
int apartine(deque <int> dq, int nr)
{
for (int i=0; i<dq.size(); i++)
{
if(dq[i]==nr) {
return 1;
}
}
return 0;
}
int main() {
int n, numere[101],s,x=-1;
cin>>n>>s;
for (int i=0;i<n;i++)
{
cin>>numere[i];
}
deque <int> valpos;
for (int i=0; i<n; i++) {
for (int j=i; j<n; j++) {
for (int k=j; k<n; k++) {
valpos.push_back(numere[i]+numere[j]+numere[k]);
}
}
}
for (int i=0; i<valpos.size(); i++)
{
if(apartine(valpos, s-valpos[i]))
{
x=valpos[i];
break;
}
}
if(x==-1)
{
cout<<-1;
return 0;
}
cout<<endl;
s = s-x;
for (int i=0; i<n; i++)
for (int j=0; j<n; j++)
for (int k=0; k<n; k++)
{
if(x!=-1 && numere[i]+ numere[j]+numere[k]==x)
{
cout<<numere[i]<<" "<<numere[j]<<" "<<numere[k]<<" ";
x = -1;
}
if(s!=-1 && numere[i]+ numere[j]+numere[k]==s)
{ cout<<numere[i]<<" "<<numere[j]<<" "<<numere[k]<<" ";
s = -1;
}
}
return 0;
}