#include <iostream>
#include <numeric>
#include <set>

int main()
{
    int t[4] = { 3, 3, 1, 5 };
    std::set<int> mySet;
    int mySum = std::accumulate(std::begin(t), std::end(t), 0, 
         [&](int n, int n2){return n += mySet.insert(n2).second?n2:0;});
    std::cout << "The sum is: " << mySum << std::endl;
    return 0;
}