実行時間制限: 2 sec / メモリ制限: 1024 MB / Difficulty: 22
問題概要
4個のボールがあり、 個目のボールの色は です。同じ色のボールを2つ選び両方捨てるという操作を最大何回行えるか求めてください。
制約
はそれぞれ整数で、 以上 以下。
考察
色 のボールの個数を とすると、 が答えとなる。
の管理には、key
を色 、value
を としたmap
を使った。もちろんvector
で処理してもよい。
コード
#include <bits/stdc++.h> using namespace std; // ======================================== // int main() { int A1, A2, A3, A4; cin >> A1 >> A2 >> A3 >> A4; map<int, int> mp; mp[A1]++; mp[A2]++; mp[A3]++; mp[A4]++; int ans = 0; for (auto &&m : mp) { if (m.second > 1) ans += m.second / 2; } cout << ans << endl; }
実装時間: 5分