#include <set>

using namespace std;

struct box {
  int x;
};

const int maxn = 1e6;
int d[maxn];

// вызывается, когда есть box u, v; и мы пишем u < v;
bool operator < ( box a, box b ) {
  return d[a.x] < d[b.x];
}

set<box> s; // Чтобы создать set<>, у box должен быть "operator < "