#include <iostream>
#include <vector>
#include <utility>
#include <algorithm>
int main( )
{
int intArray[ ] = { 5 , 3 , 32 , - 1 , 1 , 104 , 53 } ;
std:: vector < std:: pair < int , size_t >> arrayValueIndexPairs;
for ( size_t i = 0 ; i < sizeof ( intArray) / sizeof ( intArray[ 0 ] ) ; ++ i )
{
arrayValueIndexPairs.push_back ( std:: pair < int , size_t > ( intArray[ i] , i) ) ;
}
std:: sort ( arrayValueIndexPairs.begin ( ) , arrayValueIndexPairs.end ( ) ) ;
std:: cout << "Sorted Array looks like this." << std:: endl ;
for ( const auto & it : arrayValueIndexPairs )
{
std:: cout << "First Value \' " << it.first << "\' and Second Value \' " << it.second << "\' " << std:: endl ;
}
return EXIT_SUCCESS ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8dXRpbGl0eT4KI2luY2x1ZGUgPGFsZ29yaXRobT4KCmludCBtYWluKCkKewogICBpbnQgaW50QXJyYXlbXSA9IHs1LCAzLCAzMiwgLTEsIDEsIDEwNCwgNTN9OwogICAKICAgc3RkOjp2ZWN0b3I8c3RkOjpwYWlyPGludCwgc2l6ZV90Pj4gYXJyYXlWYWx1ZUluZGV4UGFpcnM7CiAgIAogICBmb3IoIHNpemVfdCBpID0gMDsgaSA8IHNpemVvZihpbnRBcnJheSkgLyBzaXplb2YoaW50QXJyYXlbMF0pOyArK2kgKQogICB7CiAgICAgIGFycmF5VmFsdWVJbmRleFBhaXJzLnB1c2hfYmFjayhzdGQ6OnBhaXI8aW50LCBzaXplX3Q+KGludEFycmF5W2ldLCBpKSk7CiAgIH0KICAgCiAgIHN0ZDo6c29ydCggYXJyYXlWYWx1ZUluZGV4UGFpcnMuYmVnaW4oKSwgYXJyYXlWYWx1ZUluZGV4UGFpcnMuZW5kKCkgKTsKCiAgIHN0ZDo6Y291dCA8PCAiU29ydGVkIEFycmF5IGxvb2tzIGxpa2UgdGhpcy4iIDw8IHN0ZDo6ZW5kbDsKICAgCiAgIGZvciggY29uc3QgYXV0byYgaXQgOiBhcnJheVZhbHVlSW5kZXhQYWlycyApCiAgIHsKICAgICAgc3RkOjpjb3V0IDw8ICJGaXJzdCBWYWx1ZSBcJyIgPDwgaXQuZmlyc3QgPDwgIlwnIGFuZCBTZWNvbmQgVmFsdWUgXCciIDw8IGl0LnNlY29uZCA8PCAiXCciIDw8IHN0ZDo6ZW5kbDsKICAgfQogICAKICAgcmV0dXJuIEVYSVRfU1VDQ0VTUzsKfQ==