#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> sum_master(int a[])
{
int my_int = 0;
vector<int> sums;
vector<int> new_arr;
int my_size = (sizeof(a)/sizeof(int));
// get ordered list of ints
vector<int> arr(a, a + my_size);
sort(arr.begin(), arr.end(), greater<int>());
// collect sums
for(int i=0; i< arr.size(); i++)
{
for(int j=i+1; j< arr.size() - 1; j++)
{
sums.push_back(arr[i] + arr[j]);
}
}
// filter without std methods and lambdas
for(int i=0; i< arr.size(); i++)
{
for(int j=0; j< sums.size(); j++)
{
if(arr[i] == sums[j])
{
new_arr.push_back(arr[i]);
}
}
}
//new_arr.shrink_to_fit();
return new_arr;
}
int main() {
// your code goes here
int b[] = {1,2,3};
vector<int> v = sum_master(int[1,2,3]);//[0];
}
/*
Given an array of integers , return a sorted array of all integers in the table that can be written as the sum of two other integers from the table.
> sum_master([1,2,3])
3
> sum_master([1,-2,3])
1
> sum_master([1,2,-4,4,6,10])
2,6,10
> sum_master([0,2,2,4])
2,4
*/
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPiAKCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2ZWN0b3I8aW50PiBzdW1fbWFzdGVyKGludCBhW10pCnsKCWludCBteV9pbnQgPSAwOwoJdmVjdG9yPGludD4gc3VtczsKCXZlY3RvcjxpbnQ+IG5ld19hcnI7CglpbnQgbXlfc2l6ZSA9IChzaXplb2YoYSkvc2l6ZW9mKGludCkpOwoJCgkvLyBnZXQgb3JkZXJlZCBsaXN0IG9mIGludHMKCXZlY3RvcjxpbnQ+IGFycihhLCBhICsgbXlfc2l6ZSk7Cglzb3J0KGFyci5iZWdpbigpLCBhcnIuZW5kKCksIGdyZWF0ZXI8aW50PigpKTsKCQoJLy8gY29sbGVjdCBzdW1zCglmb3IoaW50IGk9MDsgaTwgYXJyLnNpemUoKTsgaSsrKQoJewoJCWZvcihpbnQgaj1pKzE7IGo8IGFyci5zaXplKCkgLSAxOyBqKyspCgkJewoJCQlzdW1zLnB1c2hfYmFjayhhcnJbaV0gKyBhcnJbal0pOwoJCX0KCX0KCQoJLy8gZmlsdGVyIHdpdGhvdXQgc3RkIG1ldGhvZHMgYW5kIGxhbWJkYXMKCWZvcihpbnQgaT0wOyBpPCBhcnIuc2l6ZSgpOyBpKyspCgl7CgkJZm9yKGludCBqPTA7IGo8IHN1bXMuc2l6ZSgpOyBqKyspCgkJewoJCQlpZihhcnJbaV0gPT0gc3Vtc1tqXSkKCQkJewoJCQkJbmV3X2Fyci5wdXNoX2JhY2soYXJyW2ldKTsKCQkJfQoJCX0KCX0KCQoJLy9uZXdfYXJyLnNocmlua190b19maXQoKTsKCXJldHVybiBuZXdfYXJyOwp9CgppbnQgbWFpbigpIHsKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCWludCBiW10gPSB7MSwyLDN9OwoJdmVjdG9yPGludD4gdiA9IHN1bV9tYXN0ZXIoaW50WzEsMiwzXSk7Ly9bMF07Cn0KCi8qCkdpdmVuIGFuIGFycmF5IG9mIGludGVnZXJzICwgcmV0dXJuIGEgc29ydGVkIGFycmF5IG9mIGFsbCBpbnRlZ2VycyBpbiB0aGUgdGFibGUgdGhhdCBjYW4gYmUgd3JpdHRlbiBhcyB0aGUgc3VtIG9mIHR3byBvdGhlciBpbnRlZ2VycyBmcm9tIHRoZSB0YWJsZS4KCj4gc3VtX21hc3RlcihbMSwyLDNdKQozCj4gc3VtX21hc3RlcihbMSwtMiwzXSkKMQo+IHN1bV9tYXN0ZXIoWzEsMiwtNCw0LDYsMTBdKQoyLDYsMTAKPiBzdW1fbWFzdGVyKFswLDIsMiw0XSkKMiw0CiovCg==