TopCoder SRM 497 DIV2

Rating: 892→883(灰)
167.02 Points

250: Filtering

ソートとかに迷いが生じてSubmitがすごい遅くなった。
167.02 Points

#include <vector>
#include <string>
#include <algorithm>
#include <map>

using namespace std;
class Filtering {
public:
	vector <int> designFilter(vector <int> sizes, string outcome){
		map<int, char> ma;
		for(int i = 0; i < sizes.size(); i++){
			ma[sizes[i]] = outcome[i];
		}
		int idx = 0;
		for(map<int, char>::iterator it = ma.begin(); it != ma.end(); it++){
			sizes[idx] = (*it).first;
			outcome[idx] = (*it).second;
			idx++;
		}
		int start, finish;
		if((start = outcome.find('A')) == string::npos){
			return vector<int>();
		}
		if((finish = outcome.rfind('A')) == string::npos){
			return vector<int>();
		}
		int t;
		if((t = outcome.find('R', start)) != string::npos){
			if(t < finish){
				return vector<int>();
			}
		}
		vector<int> res;
		res.push_back(sizes[start]);
		res.push_back(sizes[finish]);
		return res;
	}
};

500:

よく分からない。

1000:

読んでない