Cod sursa(job #2420471)

Utilizator Neamtu93George Neamtu93 Data 12 mai 2019 11:33:38
Problema Loto Scor 5
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
#include<fstream>
#include<algorithm>
using namespace std;

ifstream fin("loto.in");
ofstream fout("loto.out");

struct st{
	int s;
	int a;
	int b;
	int c;};


int n,a[101],sum,i,j,k,l,str,dr,mij,x;
st s[1000001];

int cmp(st x,st y){
	return x.s<y.s;
	
}
int main(){
	fin>>n>>sum;
	for(i=1;i<=n;++i)
		fin>>a[i];
	for(i=1;i<=n;++i)
		for(j=i;j<=n;++j)
			for(k=j;k<=n;++k){
				++l;
				s[l].s=a[i]+a[j]+a[k];
				s[l].a=a[i];
				s[l].b=a[j];
				s[l].c=a[k];
			}
	sort(s+1,s+l+1,cmp);
	for(i=1;i<=l;++i){
		x=sum-s[i].s;
		str=1;
		dr=l;
		while(str<=dr){
			mij=str+dr/2;
			if(s[mij].s==x){
				fout<<s[mij].a<<" "<<s[mij].b<<" "<<s[mij].c<<" "<<s[i].a<<" "<<s[i].b<<" "<<s[i].c<<" ";
				return 0;
			}
			if(s[mij].s>x)
				dr=mij-1;
			if(s[mij].s<x)
				str=mij+1;
		}		
	}
	fout<<-1;	
}