Pagini recente » Cod sursa (job #421253) | Cod sursa (job #1753658) | Cod sursa (job #2624618) | Cod sursa (job #319875) | Cod sursa (job #1089235)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
struct elem{
int val;
int p1,p2,p3;
}v[1000001];
int cmp(elem x,elem y){
return x.val<y.val;
}
int nr,n,s,a[101],i,j,k,p,u,ok,mij;
int main()
{f>>n>>s;
for(i=1;i<=n;i++){
f>>a[i];}
nr=0;
for(i=1;i<=n;i++)
for(j=i;j<=n;j++)
for(k=j;k<=n;k++){
nr++;
v[nr].val=a[i]+a[j]+a[k];
v[nr].p1=i;
v[nr].p2=j;
v[nr].p3=k;
}
sort(v+1,v+nr+1,cmp);
ok=1;
for(i=1;i<=nr&&ok==1;i++){
k=s-v[i].val;
p=1;u=nr;
while(p<=u){
mij=(p+u)/2;
if(k>v[mij].val)
p=mij+1;
else
if(k<v[mij].val)
u=mij-1;
else
{
ok=0;
g<<a[v[i].p1]<<" "<<a[v[i].p2]<<" "<<a[v[i].p3]<<" "<<a[v[mij].p1]<<" "<<a[v[mij].p2]<<" "<<a[v[mij].p3];
break;
}
}
}
if(ok==1)
g<<-1;
return 0;
}