へんてこのブログ

日々気づいたことや、最近やっていることを書いています

SRM548 Div2

250
本当に久しぶりに250問題通りました。
嬉しいです。

解法:回数数える
includeとか省略

int minDucks(vector <int> duckTypes) {
		int result;
		
		if(duckTypes.size() == 1) return 1;
		
		SORT(duckTypes);
		
		vector<int> date,date2;
		for (int i=0; i < duckTypes.size(); i++) {
			int count = 0;
			for (int j=0; j < duckTypes.size(); j++) {
				if(duckTypes[i] == duckTypes[j]) count++;
			}
			date.push_back(count);
		}
		
		
		date2.PB(duckTypes[0]);
		for (int i=0; i < duckTypes.size()-1; i++) {
			for (int j=i+1; j < duckTypes.size(); j++) {
				if(duckTypes[i] == duckTypes[j]) i++;
				else {
					date2.PB(duckTypes[j]);
					break;
				}
			}
		}
		
		vector<int>::iterator it = max_element(ALL(date));
		result = *it * date2.size();
		
		return result;
	}

500
システムで落とされた;;

1000
開いただけ