Pagini recente » Cod sursa (job #1145220) | Cod sursa (job #2152185) | Cod sursa (job #2899900) | Cod sursa (job #1269186) | Cod sursa (job #1829603)
#include<fstream>
#include <algorithm>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
int n,s,i,i2,i3,u,p,k,mid;
int v[101];
struct lot{
int a;
int b;
int c;
int S;
};
lot x[101];
int main(){
fin>>n>>s;
for(i=1;i<=n;i++)
fin>>v[i];
for(i=1;i<=n;i++){
for(i2=i;i2<=n;i2++){
for(i3=i2;i3<=n;i3++)
x[++k].a=v[i];
x[k].b=v[i2];
x[k].c=v[i3];
x[k].S=v[i]+v[i2]+v[i3];
}
}
sort(x+1,x+k+1);
for(i=1;i<=k;i++){
p=1;
u=n;
while(p<=u){
mid=p+(p+u)/2;
if(s-x[i].S<x[mid].S)
u=mid-1;
else
p=mid+1;
}
if(x[i].S+x[p-1].S==s){
fout<<x[i].a<<" "<<x[i].b<<" "<<x[i].c<<" "<<x[p-1].a<<" "<<x[p-1].b<<" "<<x[p-1].c;
return 0;
}
}
fout<<"-1";
return 0;
}