Pagini recente » Istoria paginii runda/fmi/clasament | Istoria paginii runda/oni2009/clasament | Autentificare | Cod sursa (job #332246) | Cod sursa (job #1760520)
#include <fstream>
#include <vector>
#include <algorithm>
#include <vector>
using namespace std;
vector<int> values;
int main()
{
fstream f("loto.in",ios::in);
ofstream g("loto.out");
int vect[101];
int x,N,S,M,i,j,k,m,indice=0;
bool ok1 = 0, ok2 = 0;
f>>N>>S;
for(i=0;i<N;++i)
{
f>>x;
vect[i] = x;
}
for(i=0;i<N;++i)
for(j=i;j<N;++j)
for(k=j;k<N;++k)
values.push_back(vect[i] + vect[j] + vect[k]);
sort(values.begin(),values.end());
indice = values.size();
for(i=0;i<indice;++i)
{
if(binary_search(values.begin(),values.end(),S-values[i]))
{
m = S-values[i];
for(x=0;x<N;++x)
for(j=x;j<N;++j)
for(k=j;k<N;++k)
{
if(ok1 == 1 && ok2 == 1) return 0;
if(!ok1)
if(vect[x]+vect[j]+vect[k] == values[i])
{
g<<vect[x]<<" "<<vect[j]<<" "<<vect[k]<<" ";
ok1 = 1;
}
if(!ok2)
if(vect[x]+vect[j]+vect[k] == m)
{
g<<vect[x]<<" "<<vect[j]<<" "<<vect[k]<<" ";
ok2 = 1;
}
}
return 0;
}
}
g<<"-1";
return 0;
}