#include <iostream>
int dist[] = { 3, 10, 2, 4, 6, 9 };
int refill[] = { 3, 4, 6, 3, 7, 11 };
static const int n = sizeof dist / sizeof *dist;
int main()
{
int cum = 0, min = 0, min_index = 0;
for (int i = 0; i < n; ++i)
{
cum += refill[i] - dist[i];
std::cout << cum << ' ';
if (cum < min)
{
min = cum;
min_index = i;
}
}
std::cout << "\nstart from index " << (min_index + 1) % n << " (0-based)\n";
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKaW50IGRpc3RbXSA9IHsgMywgMTAsIDIsIDQsIDYsIDkgfTsKaW50IHJlZmlsbFtdID0geyAzLCA0LCA2LCAzLCA3LCAxMSB9OwoKc3RhdGljIGNvbnN0IGludCBuID0gc2l6ZW9mIGRpc3QgLyBzaXplb2YgKmRpc3Q7CgppbnQgbWFpbigpCnsKICAgIGludCBjdW0gPSAwLCBtaW4gPSAwLCBtaW5faW5kZXggPSAwOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyArK2kpCiAgICB7CiAgICAgICAgY3VtICs9IHJlZmlsbFtpXSAtIGRpc3RbaV07CiAgICAgICAgc3RkOjpjb3V0IDw8IGN1bSA8PCAnICc7CiAgICAgICAgaWYgKGN1bSA8IG1pbikKICAgICAgICB7CiAgICAgICAgICAgIG1pbiA9IGN1bTsKICAgICAgICAgICAgbWluX2luZGV4ID0gaTsKICAgICAgICB9CiAgICB9CiAgICBzdGQ6OmNvdXQgPDwgIlxuc3RhcnQgZnJvbSBpbmRleCAiIDw8IChtaW5faW5kZXggKyAxKSAlIG4gPDwgIiAoMC1iYXNlZClcbiI7Cn0=