Pagini recente » Cod sursa (job #412469) | Cod sursa (job #570089) | Cod sursa (job #2758484) | Cod sursa (job #1514447) | Cod sursa (job #497415)
Cod sursa(job #497415)
#include<fstream.h>
#include<algorithm>
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
struct loto{
int s,x,y,z;
}b[1000001];
int n,s,i,p,u,m,j,a[101],k,ma,S;
int cmp(loto a,loto b){
return a.s<=b.s;
}
int main(){
f>>n>>s;
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++){
ma++;
b[ma].s=a[i]+a[j]+a[k];
b[ma].x=i;
b[ma].y=j;
b[ma].z=k;
}
sort (b+1,b+ma+1,cmp);
for(i=1;i<=ma;i++){
p=1;
u=ma;
S=s-b[i].s;
while(p<=u){
m=(p+u)/2;
if (S==b[m].s){
g<<a[b[i].x]<<a[b[i].y]<<a[b[i].z]<<a[b[m].x]<<a[b[m].y]<<a[b[m].z];
return 0;
}
else
if (S<b[m].s)
u=m-1;
else
p=m+1;
}
}
g<<"-1";
return 0;
}