#include <iostream>
#include <stdarg.h>
using namespace std;
int sum_1 ( int number_of_values, ... )
{
va_list arguments;
va_start ( arguments, number_of_values );
int sum = 0;
for ( int i = 0; i < number_of_values; i++ )
{
sum += va_arg ( arguments, int );
}
va_end ( arguments );
return sum;
}
int sum_2 ( int number_of_values ...)
{
int sum = 0;
for ( int i = 0; i < number_of_values; i++ )
sum += *( &number_of_values + i + 1 );
return sum;
}
int main()
{
cout << sum_1(3, 1, 2, 3) << endl; //prints 6
cout << sum_2(3, 1, 2, 3) << endl; //prints 6
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RkYXJnLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IHN1bV8xICggaW50IG51bWJlcl9vZl92YWx1ZXMsIC4uLiApCnsKICAgIHZhX2xpc3QgYXJndW1lbnRzOwogICAgdmFfc3RhcnQgKCBhcmd1bWVudHMsIG51bWJlcl9vZl92YWx1ZXMgKTsKICAgIGludCBzdW0gPSAwOwogICAgZm9yICggaW50IGkgPSAwOyBpIDwgbnVtYmVyX29mX3ZhbHVlczsgaSsrICkKICAgIHsKICAgICAgICBzdW0gKz0gdmFfYXJnICggYXJndW1lbnRzLCBpbnQgKTsKICAgIH0KICAgIHZhX2VuZCAoIGFyZ3VtZW50cyApOwoKICAgIHJldHVybiBzdW07Cn0KCmludCBzdW1fMiAoIGludCBudW1iZXJfb2ZfdmFsdWVzIC4uLikKewogICAgaW50IHN1bSA9IDA7CiAgICBmb3IgKCBpbnQgaSA9IDA7IGkgPCBudW1iZXJfb2ZfdmFsdWVzOyBpKysgKQogICAgICAgIHN1bSArPSAqKCAmbnVtYmVyX29mX3ZhbHVlcyArIGkgKyAxICk7CiAgICByZXR1cm4gc3VtOwp9CgoKaW50IG1haW4oKQp7CiAgICBjb3V0IDw8IHN1bV8xKDMsIDEsIDIsIDMpIDw8IGVuZGw7IC8vcHJpbnRzIDYKICAgIGNvdXQgPDwgc3VtXzIoMywgMSwgMiwgMykgPDwgZW5kbDsgLy9wcmludHMgNgp9