Pagini recente » Cod sursa (job #1032394) | Cod sursa (job #1856887) | Cod sursa (job #483879) | Cod sursa (job #63639) | Cod sursa (job #2744738)
#include <bits/stdc++.h>
using namespace std;
ifstream F ("loto.in");
ofstream G ("loto.out");
struct sumastruct
{
int t1, t2, t3, stotal;
} suma[1000001];
bool cmp(sumastruct a, sumastruct b)
{
return a.stotal < b.stotal;
}
int main()
{
int n, s, v[100], p = -1;
F>>n>>s;
for(int i = 0; i < n; i++)
F>>v[i];
for(int i = 0; i < n; i++)
for(int j = i; j < n; j++)
for(int k = j; k < n; k++)
{
p++;
suma[p].t1 = v[i];
suma[p].t2 = v[j];
suma[p].t3 = v[k];
suma[p].stotal = suma[p].t1 + suma[p].t2 + suma[p].t3;
}
int st = 0;
int dr = p - 1;
int ok = 0;
sort(suma, suma + p, cmp);
while(st <= dr)
{
if(suma[st].stotal + suma[dr].stotal == s)
{
G<<suma[st].t1<<" "<<suma[st].t2<<" "<<suma[st].t3<<" "<<suma[dr].t1<<" "<<suma[dr].t2<<" "<<suma[dr].t3;
ok = 1;
break;
}
else if(suma[st].stotal + suma[dr].stotal < s)
st++;
else
dr--;
}
if(ok == 0)
G<<-1;
return 0;
}