#include <iostream>
template<size_t N>
float average( const int (&value)[N] ) {
float total( 0.0f );
for ( size_t index = 0; index < N; ++index )
total += value[index];
return ( total / N );
}
int main() {
int value[] = { 1, 2, 3, 4, 5, 6 };
float avg = average( value );
const size_t count = ( sizeof( value ) / sizeof( value[0] ) );
for ( size_t index = 0; index < count; ++index )
if ( value[index] > avg )
std::cout << value[index] << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdGVtcGxhdGU8c2l6ZV90IE4+CmZsb2F0IGF2ZXJhZ2UoIGNvbnN0IGludCAoJnZhbHVlKVtOXSApIHsKCWZsb2F0IHRvdGFsKCAwLjBmICk7Cglmb3IgKCBzaXplX3QgaW5kZXggPSAwOyBpbmRleCA8IE47ICsraW5kZXggKQoJICAgIHRvdGFsICs9IHZhbHVlW2luZGV4XTsKCXJldHVybiAoIHRvdGFsIC8gTiApOwp9CgppbnQgbWFpbigpIHsKCWludCB2YWx1ZVtdICA9IHsgMSwgMiwgMywgNCwgNSwgNiB9OwoJZmxvYXQgYXZnID0gYXZlcmFnZSggdmFsdWUgKTsKCWNvbnN0IHNpemVfdCBjb3VudCA9ICggc2l6ZW9mKCB2YWx1ZSApIC8gc2l6ZW9mKCB2YWx1ZVswXSApICk7Cglmb3IgKCBzaXplX3QgaW5kZXggPSAwOyBpbmRleCA8IGNvdW50OyArK2luZGV4ICkKCSAgICBpZiAoIHZhbHVlW2luZGV4XSA+IGF2ZyApCgkgICAgICAgIHN0ZDo6Y291dCA8PCB2YWx1ZVtpbmRleF0gPDwgc3RkOjplbmRsOwoKICAgIHJldHVybiAwOwp9