Pagini recente » Cod sursa (job #1556300) | Cod sursa (job #2500831) | Cod sursa (job #901110) | Monitorul de evaluare | Cod sursa (job #1711832)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream x("loto.in");
ofstream y("loto.out");
#define MAX 999999
int v[MAX], a[100];
void afisare(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 (a[i]+a[j]+a[k]==x)
{
y<<a[i]<<" "<<a[j]<<" "<<a[k]<<" ";
return;
}
}
int main()
{
int n,S, p=0;
x>>n>>S;
for(int i=1; i<=n; i++)
x>>a[i];
for(int i=1; i<=n; i++)
for(int j=1; j<=n; j++)
for(int k=1; k<=n; k++)
{
p++;
v[p]=a[i]+a[j]+a[k];
}
sort (v+1,v+p+1);
int i=1,j=p;
while(i<=j)
{
if(v[i]+v[j]==S)
{
afisare (n,v[i]);
afisare (n,v[j]);
return 0;
}
else if(v[i]+v[j]<S) i++;
else j--;
}
y<<-1;
return 0;
}