Pagini recente » Cod sursa (job #945849) | Cod sursa (job #1792039) | Cod sursa (job #1708730) | Cod sursa (job #2550588) | Cod sursa (job #1290067)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
struct suma { int s,a,b,c; } V[1000003];
int a[105],n,sum,nr,z=1,i,j,k,sumcaut,st=1,dr,mij;
int comparare(suma x, suma y)
{
return(x.s<y.s);
}
int main()
{
f>>n>>sum;
for(i=1;i<=n;i++)
f>>a[i];
for(i=1;i<=n;i++)
for(j=i; j<=n; j++)
for(k=j; k<=n; k++){
V[++nr].s=a[i]+a[j]+a[k];
V[nr].a=a[i];
V[nr].b=a[j];
V[nr].c=a[k];
}
sort(V+1,V+1+nr,comparare);
for(i=1;i<=nr&&z;i++){
sumcaut=sum-V[i].s,st=1,dr=nr;
while(st<=dr&&z){
mij = (st+dr) / 2;
if(V[mij].s<sumcaut)
st=mij+1;
else
if(V[mij].s>sumcaut)
dr=mij-1;
else{
z=0;
g<<V[i].a<<' '<< V[i].b <<' '<<V[i].c <<' ';
g<<V[mij].a<<' '<< V[mij].b <<' '<< V[mij].c <<'\n';
}
}
}
if(z) g<<"-1\n";
}