#include <iostream>
struct Pairs {
int* _data;
Pairs( int data[] ) : _data(data) {}
int & first( size_t x ) const { return _data[x*2]; }
int & second( size_t x ) const { return _data[x*2+1]; }
};
int main() {
int N=5;
int data[10]= {1,2,4,5,7,8,10,11,13,14};
Pairs pairs( data );
for(int i=0; i<N; ++i)
std::cout << i << ": (" << pairs.first(i) << ", " << pairs.second(i) << ")" << std::endl;
return 0;
}
ICAgICNpbmNsdWRlIDxpb3N0cmVhbT4KICAgIAogICAgc3RydWN0IFBhaXJzIHsKICAgICAgICBpbnQqIF9kYXRhOwogICAgICAgIFBhaXJzKCBpbnQgZGF0YVtdICkgOiBfZGF0YShkYXRhKSB7fQoJICAgIGludCAmIGZpcnN0KCBzaXplX3QgeCApIGNvbnN0IHsgcmV0dXJuIF9kYXRhW3gqMl07IH0KICAgICAgICBpbnQgJiBzZWNvbmQoIHNpemVfdCB4ICkgY29uc3QgeyByZXR1cm4gX2RhdGFbeCoyKzFdOyB9CiAgICB9OwogICAgCiAgICBpbnQgbWFpbigpIHsKICAgIAlpbnQgTj01OwogICAgCWludCBkYXRhWzEwXT0gezEsMiw0LDUsNyw4LDEwLDExLDEzLDE0fTsKICAgIAlQYWlycyBwYWlycyggZGF0YSApOwogICAgCQogICAgCWZvcihpbnQgaT0wOyBpPE47ICsraSkKICAgIAkJc3RkOjpjb3V0IDw8IGkgPDwgIjogKCIgPDwgcGFpcnMuZmlyc3QoaSkgPDwgIiwgIiA8PCBwYWlycy5zZWNvbmQoaSkgPDwgIikiIDw8IHN0ZDo6ZW5kbDsKICAgIAkKICAgIAlyZXR1cm4gMDsKICAgIH0K