#include <iostream>
#include <algorithm>
using namespace std;
int main( )
{
long A[ ] = { 4 ,3 ,1 ,4 ,- 1 ,2 ,1 ,5 ,7 } ;
uint N = 9 ;
int k,j,forward,reverse;
long max;
int Results[ N] ;
max_element( A,A+ N) ;
for ( k= 0 ; k< N; k++ ) {
if ( A[ k] ! = max) {
// IGNORE FORWARD SEEK IF LAST ELEMENT
if ( k< N- 1 ) {
// Foward seek
j= k+ 1 ;
forward = LONG_MAX ;
while ( j< N) {
if ( A[ j] > A[ k] ) {
forward = j- k;
}
j++ ;
}
}
// IGNORE REVERSE SEEK IF FIRST ELEMENT
if ( k> 0 ) {
// Reverse seek
j= k- 1 ;
reverse = LONG_MAX ;
while ( j>= 0 ) {
if ( A[ j] > A[ k] ) {
forward = k- j;
}
j-- ;
}
}
} else { forward = 0 ; }
// Check for smallest
if ( reverse < forward) {
Results[ k] = reverse;
} else {
Results[ k] = forward;
}
for ( k= 0 ; k< N; i++ ) {
cout << "R[" << k << "] = " << Results[ k] << endl;
}
}
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPiAKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCgppbnQgbWFpbigpCnsKICAgIGxvbmcgQVtdID0gezQsMywxLDQsLTEsMiwxLDUsN307CiAgICB1aW50IE4gPSA5OwogICAgaW50IGssaixmb3J3YXJkLHJldmVyc2U7CiAgICBsb25nIG1heDsKICAgIGludCBSZXN1bHRzW05dOwoKICAgIG1heF9lbGVtZW50KEEsQStOKTsKCiAgICBmb3IgKGs9MDtrPE47aysrKSB7CiAgICAgICAgaWYgKEFba10gIT0gbWF4KSB7CgogICAgICAgICAgICAvLyBJR05PUkUgRk9SV0FSRCBTRUVLIElGIExBU1QgRUxFTUVOVAogICAgICAgICAgICBpZiAoazxOLTEpIHsKCSAgICAgICAgLy8gRm93YXJkIHNlZWsKCSAgICAgICAgaj1rKzE7CiAgICAgICAgICAgICAgICBmb3J3YXJkID0gTE9OR19NQVg7CiAgICAgICAgICAgICAgICB3aGlsZSAoajxOKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKEFbal0gPiBBW2tdKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBmb3J3YXJkID0gai1rOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBqKys7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIElHTk9SRSBSRVZFUlNFIFNFRUsgSUYgRklSU1QgRUxFTUVOVAogICAgICAgICAgICBpZiAoaz4wKSB7CiAgICAgICAgICAgICAgICAvLyBSZXZlcnNlIHNlZWsKICAgICAgICAgICAgICAgIGo9ay0xOwogICAgICAgICAgICAgICAgcmV2ZXJzZSA9IExPTkdfTUFYOwogICAgICAgICAgICAgICAgd2hpbGUgKGo+PTApIHsKICAgICAgICAgICAgICAgICAgICBpZiAoQVtqXSA+IEFba10pIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGZvcndhcmQgPSBrLWo7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGotLTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7IGZvcndhcmQgPSAwOyB9CiAgICAgICAKICAgICAgICAvLyBDaGVjayBmb3Igc21hbGxlc3QKCWlmIChyZXZlcnNlIDwgZm9yd2FyZCkgewogICAgICAgICAgICBSZXN1bHRzW2tdID0gcmV2ZXJzZTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBSZXN1bHRzW2tdID0gZm9yd2FyZDsKICAgICAgICB9CgogICAgCWZvciAoaz0wOyBrPE47IGkrKykgewogICAgICAgICAgICBjb3V0IDw8ICJSWyIgPDwgayA8PCAiXSA9ICIgPDwgUmVzdWx0c1trXSA8PCBlbmRsOwogICAJfQogICAgfQogICAgcmV0dXJuIDA7Cn0=
compilation info
prog.cpp: In function ‘int main()’:
prog.cpp:16: warning: comparison between signed and unsigned integer expressions
prog.cpp:20: warning: comparison between signed and unsigned integer expressions
prog.cpp:23: error: ‘LONG_MAX’ was not declared in this scope
prog.cpp:24: warning: comparison between signed and unsigned integer expressions
prog.cpp:36: error: ‘LONG_MAX’ was not declared in this scope
prog.cpp:53: warning: comparison between signed and unsigned integer expressions
prog.cpp:53: error: ‘i’ was not declared in this scope
stdout