Pagini recente » Cod sursa (job #1943957) | Cod sursa (job #2091018) | Cod sursa (job #293039) | Cod sursa (job #20830) | Cod sursa (job #1415396)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("loto.in");
ofstream out("loto.out");
struct vts
{
int c1,c2,c3,ss;
};
vts suma[1000001];
bool cmp(vts x,vts y)
{
return x.ss<y.ss;
}
int main()
{
int n,S,i,j,l,li,nrsume,ls,mij,aj=1,s;
in>>n>>S;
nrsume=n*n*n;
int v[n+1];
for(i=1;i<=n;i++) in>>v[i];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
for(l=1;l<=n;l++)
{
suma[aj].c1=v[i];
suma[aj].c2=v[j];
suma[aj].c3=v[l];
suma[aj].ss=v[i]+v[j]+v[l];
aj++;
}
sort(suma+1,suma+nrsume+1,cmp);
//for(i=1;i<=nrsume;i++) out<<suma[i]<<" ";
for(i=1;i<=nrsume;i++)
{
s=S-suma[i].ss;
li=1;
ls=nrsume;
while(li<=ls)
{
mij=(li+ls)/2;
if(s<suma[mij].ss) ls=mij;
else if(s>suma[mij].ss) li=mij+1;
else
{
out<<suma[i].c1<<" "<<suma[i].c2<<" "<<suma[i].c3<<" "<<suma[mij].c1<<" "<<suma[mij].c2<<" "<<suma[mij].c3;
return 0;
}
}
}
return 0;
}