Pagini recente » Cod sursa (job #2982248) | Cod sursa (job #14090) | Borderou de evaluare (job #445416) | Istoria paginii planificare/sedinta_20061214 | Cod sursa (job #428531)
Cod sursa(job #428531)
#include<fstream>
#include<algorithm>
#include<map>
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
map <int,int> viz;
int i,nrs,n,S,okg;
int a[102];
void citire();
void sume3();
void scrie(int k,int z);
int main()
{
citire();
sume3();
if (!okg) g<<-1;
return 0;
}
void scrie(int k,int z)
{
int saux,i,j,k2,ok1=0,ok2=0;
for (j=1;j<=n;++j)
for (k2=1;k2<=n;++k2)
for (i=1;i<=n;++i)
{
saux=a[j]+a[k2]+a[i];
if (saux==k&&ok1==0)
{
g<<j<<' '<<k2<<' '<<i<<' ';
ok1=1;
}
if (saux==z&&ok2==0)
{
g<<j<<' '<<k2<<' '<<i<<' ';
ok2=1;
}
if (ok1&&ok2)
return;
}
}
void sume3()
{
int i,j,k,q=0,saux;
for (j=1;j<=n;++j)
for (k=1;k<=n;++k)
for (i=1;i<=n;++i)
{
saux=a[j]+a[k]+a[i];
viz[saux]=1;
if (viz[S-saux])
{
okg=1;
scrie(saux,S-saux);
return;
}
}
}
void citire ()
{
int i;
f>>n>>S;
for (i=1;i<=n;f>>a[i++]);
}