Pagini recente » Cod sursa (job #1134143) | Cod sursa (job #402821) | Cod sursa (job #424532) | Cod sursa (job #2144450) | Cod sursa (job #2740566)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
int v[200],p[200],i,j,k,n,s,t=0,suma;
int cauta (int suma, int p[200])
{
int st=0,mij,dr=t-1;
while (st<=dr)
{
mij=(st+dr)/2;
if (p[mij]==suma) return 1;
else if (suma<p[mij]) dr=mij-1;
else st=mij+1;
}
return 0;
}
int main()
{
ifstream f("loto.in");
ofstream g("loto.out");
f>>n>>s;
for (i=0;i<n;i++) f>>v[i];
for (i=0;i<n;i++)
for (j=0;j<n;j++)
for (k=0;k<n;k++)
{
p[t]=v[i]+v[j]+v[k];
t++;
}
sort(p,p+t);
for (i=0;i<n;i++)
for (j=0;j<n;j++)
for (k=0;k<n;k++)
{
suma=s-v[i]-v[j]-v[k];
if(cauta(suma,p)!=0)
{
g<<v[i]<<" "<<v[j]<<" "<<v[k]<<" ";
for (i=0;i<n;i++)
for (j=0;j<n;j++)
for (k=0;k<n;k++)
if (v[i]+v[j]+v[k]==suma)
{
g<<v[i]<<" "<<v[j]<<" "<<v[k]<<" ";
return 0;
}
}
}
g<<-1;
f.close();
g.close();
return 0;
}