Nu aveti permisiuni pentru a descarca fisierul grader_test18.ok
Cod sursa(job #428569)
Utilizator | gwriter Negrimon | Data | 29 martie 2010 13:10:42 |
---|---|---|---|
Problema | Loto | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 1.04 kb |
#include<fstream>
#include<algorithm>
#include<map>
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
//map <int,int> viz;
int viz[50];
int 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 (i=1;i<=n;++i)
for (j=1;j<=n;++j)
for (k2=1;k2<=n;++k2)
{
saux=a[j]+a[k2]+a[i];
if (saux==k&&ok1==0)
{
g<<a[j]<<' '<<a[k2]<<' '<<a[i]<<' ';
ok1=1;
}
if (saux==z&&ok2==0)
{
g<<a[j]<<' '<<a[k2]<<' '<<a[i]<<' ';
ok2=1;
}
if (ok1&&ok2)
return;
}
}
void sume3()
{
int i,j,k,q=0,saux,s1;
for (i=1;i<=n;++i)
for (j=1;j<=n;++j)
for (k=1;k<=n;++k)
{
s1=a[i]+a[j]+a[k];
viz[s1]=1;
q=S-s1;
if (viz[q])
{
okg=1;
scrie(s1,q);
return;
}
}
}
void citire ()
{
int i;
f>>n>>S;
for (i=1;i<=n;++i)
f>>a[i];
}