[1] 授業単元:ソート
[2] 問題文(含コード&リンク):

次の条件を満たす関数を作ってください。

第1引数はint型の配列。
第2引数はint型で第1引数の配列の要素数。
第3引数はint型の値。

配列内の要素を並び替えて、第3引数の値より小さなものが配列の最初の方に位置するようにし、
その次に第3引数の値と同じものが位置するようにし、その次に第3引数の値より大きなものが位置するように
してください。

戻り値は、第3引数の値より小さなもののうち最も後方のインデックスをstruct Pairのfirstにセットし、
第3引数の値と同じもののうち、最も後方のインデックスをstruct Pairのsecondにセットして
struct Pair型の値を返してください。

struct Pair {
int first;
int second;
};

できるだけ速く処理できるよう実装を工夫してください。

[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 2013年7月7日までにお願いします。
[5] その他の制限: C89でお願いします。