SRM371 div1 medium
貪欲でOK。
usは小さい方からthemの大きい方と比較。
#include <algorithm> #include <vector> using namespace std; class ChessMatchup { public: int maximumScore(vector <int> us, vector <int> them) { int n=us.size(),ans=0; vector<int> usUsed(n,false); vector<int> themUsed(n,false); sort(us.begin(),us.end()); sort(them.begin(),them.end()); for(int i=0;i<n;i++) for(int j=n-1;0<=j;j--) if(!usUsed[i] && !themUsed[j] && us[i]>them[j]) themUsed[j]=true,usUsed[i]=true,ans+=2; for(int i=0;i<n;i++) for(int j=n-1;0<=j;j--) if(!usUsed[i] && !themUsed[j] && us[i]==them[j]) themUsed[j]=true,usUsed[i]=true,ans+=1; return ans; } };