Pagini recente » Cod sursa (job #1846045) | Cod sursa (job #2718184) | Cod sursa (job #49692) | Cod sursa (job #1120275) | Cod sursa (job #1942025)
#include <fstream>
#include <algorithm>
#include <vector>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
int n, idx=0, a[101], sum;
vector<int> s;
void citire()
{
int i;
fin>>n>>sum;
for(i=1; i<=n; i++)
fin>>a[i];
fin.close();
}
void afisare(int suma)
{
int i, j, k;
for(i=1; i<=n; i++)
for(j=1; j<=n; j++)
for(k=1; k<=n; k++)
if(a[i]+a[j]+a[k]==suma)
{
fout<<a[i]<<' '<<a[j]<<' '<<a[k]<<' ';
return;
}
}
void binsrc()
{
int st, dr;
st=0; dr=idx-1;
while(st<=dr)
{
if(s[st]+s[dr]==sum)
{
afisare(s[st]);
afisare(s[dr]);
return;
}
else if(s[st]+s[dr]>sum)
dr--;
else st++;
}
fout<<-1;
}
void sume()
{
int i, j, k;
for(i=1; i<=n; i++)
for(j=1; j<=n; j++)
for(k=1; k<=n; k++)
{
s.push_back(a[i]+a[j]+a[k]);
idx++;
}
sort(s.begin(), s.end());
}
int main()
{
citire();
sume();
binsrc();
fout<<'\n'; fout.close();
return 0;
}