Pagini recente » Cod sursa (job #2078737) | Cod sursa (job #141114) | Cod sursa (job #2054538) | Cod sursa (job #538432) | Cod sursa (job #2407751)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
int v[101],m,n,S,s,i,j,k,st,dr,mid,p,K,x,ok;
struct meme{
long long S;
int i,j,k;
}a[1000001];
int cmp(meme a,meme b){
return a.S<b.S;
}
int main()
{ f>>n>>S;
K=0;
for(i=1;i<=n;i++){
f>>x;
ok=1;
for(j=1;j<=K;j++)
if(v[j]==x)
ok=0;
if(ok==1)
v[++K]=x;
}
m=0;
for(i=1;i<=K;i++){
for(j=1;j<=K;j++){
for(k=1;k<=K;k++){
a[++m].S=v[i]+v[j]+v[k];
a[m].i=v[i];
a[m].j=v[j];
a[m].k=v[k];
}
}
}
sort(a+1,a+m+1,cmp);
for(i=1;i<=m;i++){
s=S-a[i].S;
st=1;dr=m;p=0;
while(st<=dr){
mid=(st+dr)/2;
if(a[mid].S<s)
st=mid+1;
else if(a[mid].S>s)
dr=mid-1;
else{
p=mid;
break;
}
}
if(p!=0){
g<<a[i].i<<' '<<a[i].j<<' '<<a[i].k<<' '<<a[p].i<<' '<<a[p].j<<' '<<a[p].k;
return 0;
}
}
g<<-1;
return 0;
}