1つの要素に着目した2つの配列のソート

c++での方法ですが、
2つの配列の各要素が関係しているとき、
ひとつの配列の要素順に両方をソートする方法です。

まずはペア型のコンテナを宣言。
vector <pair <int, int> > enemy;

次に2つの配列の要素を格納。
このとき、ソートしたい要素の配列を最初に格納する。
FORE(i,0,eS.size())enemy.push_back(make_pair(eS[i],eC[i]));

あとは普通にソートしてあげるだけで、1つ目の要素順にソートされます。
sort(enemy.begin(),enemy.end());

このように、使いたい要素は以下のように使えます。
if(mS[curg]>=enemy[cure].first)
FORE(i,0,enemy.size())n+=enemy[i].second;

ときどき役に立つのでメモしておきました。
このエントリーをはてなブックマークに追加