Pagini recente » Cod sursa (job #926002) | Cod sursa (job #832919) | Cod sursa (job #1101623) | Cod sursa (job #2586551) | Cod sursa (job #1711730)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("date.in");
ofstream g("date.out");
#define MAX 1000001
int v[MAX], m[101];
void afis(int n, int x)
{
int i,j,k;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
for(k=1;k<=n;k++)
if(m[i]+m[j]+m[k]==x)
{
g<<m[i]<<" "<<m[j]<<" "<<m[k]<<" ";
return;
}
}
int main()
{
int n ,S, nv=0;
f>>n>>S;
for(int i=1; i<=n; i++) f>>m[i];
for(int i=1; i<=n; i++)
for(int j=1; j<=n; j++)
for(int k=1; k<=n; k++)
{
nv++;
v[nv]=m[i]+m[j]+m[k];
}
sort(v+1,v+nv+1);
int i=1,j=nv;
while(i<=j)
{
if(v[i]+v[j]==S)
{
afis(n,v[i]);
afis(n,v[j]);
return 0;
}
else if(v[i]+v[j]<S) i++;
else j--;
}
g<<-1;
return 0;
}