Pagini recente » Cod sursa (job #2655842) | Cod sursa (job #1092851) | Cod sursa (job #1873518) | Cod sursa (job #1927584) | Cod sursa (job #737658)
Cod sursa(job #737658)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
long long s;
long long a[102],b[1000007];
int i,ii,j,k,n,suma;
long long gasit (long long X ) {
int p,u,mid;
p=1;
u=k;
while(p<=u){
mid=(p+u)/2;
if(b[mid]==X)
return 1;
if(a[mid]<=X)
p=mid+1;
else
u=mid-1;
}
return 0;
}
void afis (long long S) {
int i,ii,j;
for(i=1;i<=n;i++)
for(ii=1;ii<=n;i++)
for(j=1;j<=n;j++)
if(S==a[i]+a[ii]+a[j]){
g<<a[i]<<" "<<a[ii]<<" "<<a[j];
return ;
}
}
int main () {
f>>n>>suma;
for(i=1;i<=n;i++)
f>>a[i];
for(i=1;i<=n;i++)
for(ii=1;ii<=n;ii++)
for(j=1;j<=n;j++)
b[++k]=a[i]+a[ii]+a[j];
sort(1+b,1+b+k);
for(i=1;i<=k;i++)
if(gasit(suma-b[i])) {
afis(b[i]);g<<" ";
afis(suma-b[i]);
return 0;
}
g<<-1<<"\n";
return 0;
}