Pagini recente » Cod sursa (job #2730954) | Cod sursa (job #2727926) | Cod sursa (job #1917823) | Cod sursa (job #830374) | Cod sursa (job #1111424)
#include <fstream>
#include <set>
using namespace std;
typedef struct triplet{
int a, b, c, s;
triplet(int x, int y, int z){a=x; b=y; c=z; s=x+y+z;}
triplet(){}
};
class comp1{
public: bool operator()(triplet a, triplet b){
return a.s<b.s;
};
};
int n, s;
int v[101];
set<triplet, comp1> t;
ofstream g("loto.out");
void afisT(triplet t){ g<<t.a<<" "<<t.b<<" "<<t.c<<" ";}
int main(){
ifstream f("loto.in");
f>>n>>s;
for(int i=0;i<n;i++)
f>>v[i];
f.close();
for(int i=0; i<n; i++)
for(int j=i; j<n; j++)
for(int k=j; k<n; k++)
t.insert(triplet(v[i], v[j], v[k]));
set<triplet, comp1>::iterator it, it2;
triplet cautat;
it=t.begin();
while(it!=t.end())
{
cautat.s=s-it->s;
it2=t.find(cautat);
if(it2!=t.end())
{
afisT(*it), afisT(*it2);
g.close();
return 0;
}
it++;
}
g<<"-1";
g.close();
return 0;
}