Pagini recente » Cod sursa (job #2593019) | Cod sursa (job #2978321) | Cod sursa (job #2944890) | Cod sursa (job #1131648) | Cod sursa (job #3131946)
#include <fstream>
#include <unordered_set>
#include <unordered_map>
#include <vector>
using namespace std;
ifstream in("deque.in");
ofstream out("deque.out");
int main() {
int s, n, x;
in >> s >> n;
vector<int> nr;
for (int i = 0; i < n; i++)
{
in >> x;
nr.push_back(x);
}
unordered_map<long long int, long long int[3]> bilet;
bool found = false;
for (int i = 0; i < n && found != true; i++)
{
for (int j = 0; j < n && found != true; j++)
{
for (int k = 0; k < n && found != true; k++)
{
bilet[nr[i] + nr[j] + nr[k]][0] = nr[i];
bilet[nr[i] + nr[j] + nr[k]][1] = nr[j];
bilet[nr[i] + nr[j] + nr[k]][2] = nr[k];
long long int minus = s - (nr[i] + nr[j] + nr[k]);
if (bilet.find(minus) != bilet.end())
{
out << nr[i] << " " << nr[j] << " " << nr[k] << " " << bilet[minus][0] << " " << bilet[minus][1] << " " << bilet[minus][2];
found = true;
}
}
}
}
if (found == false)
out << -1;
return 0;
}