Pagini recente » Cod sursa (job #24259) | Cod sursa (job #1729310) | Cod sursa (job #1618219) | Cod sursa (job #2225973) | Cod sursa (job #194724)
Cod sursa(job #194724)
#include<stdio.h>
#include<algorithm>
using namespace std;
int m,S,v[105];
struct suma {int s,a,b,c;}s[1000111];
int n,i,j,l;
int cmp(suma a,suma b){
return a.s<b.s;
}
int main(){
FILE *f=fopen("loto.in","r");
fscanf(f,"%d %d",&n,&S);
for(i=1;i<=n;i++){
fscanf(f,"%d",&v[i]);
}
fclose(f);
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
for(l=1;l<=n;l++){
m++;
s[m].s=v[i]+v[j]+v[l];
s[m].a=v[i];
s[m].b=v[j];
s[m].c=v[l];
}
}
}
sort(s+1,s+m+1,cmp);
int sol,p,u,mij;
FILE *g=fopen("loto.out","w");
for(i=1;i<=m;i++){
if(s[i].s!=s[i-1].s){
sol=S-s[i].s;
if(sol>s[i].s){
p=i;
u=m;
while(p<=u){
mij=(p+u)/2;
if(s[mij].s>=sol){
u=mij-1;
}
else
p=mij+1;
}
if(s[p].s==sol){
fprintf(g,"%d %d %d %d %d %d",s[i].a,s[i].b,s[i].c,s[p].a,s[p].b,s[p].c);
return 0;
}
}
}
}
fprintf(g,"%d",-1);
fclose(g);
return 0;
}