An implementation of maximum subarray finding algorithm in STL style
Do not rely on the client code to #include necessary headers. The client has no idea which headers your file requires. Spell them out explicity:

#include &lt;iterator&gt;
#include &lt;tuple&gt;

Are you sure you are using c++11? I am getting

error: 'auto' return without trailing return type; deduced return types
are a C++14 extension

In general, naked auto returns in an interface is a dubious idea. Again, think of the client. The client should not analyze your template to deduce what it actually returns. It is OK to have them in the helper functions not exposed to the client.
It took me a while to figure out why your code works correctly. The side effect of ++ in

For right = ++begin;


is very easy to miss.