SRM433 DIV2 250

#include <iostream>
#include <vector>
#include <functional>
#include <algorithm>

using namespace std;

class RoyalTreasurer{
public:
	int minimalArrangement(vector<int> A, vector<int> B)
	{
		sort(A.begin(), A.end());
		sort(B.begin(), B.end(), greater<int>());

		int size = A.size();
		int sum = 0;
		for (int i = 0; i < size; i++){
			sum += A[i] * B[i];
		}
		return sum;
	}

};

sortするだけ。
greaterを使えば降順でソートすることができる。はじめて知った。