実行時間制限: 2 sec / メモリ制限: 1024 MB / Difficulty: 22
問題概要
4個のボールがあり、 個目のボールの色は
です。同じ色のボールを2つ選び両方捨てるという操作を最大何回行えるか求めてください。
制約
はそれぞれ整数で、
以上
以下。
考察
色 のボールの個数を
とすると、
が答えとなる。
の管理には、
key
を色 、
value
を とした
map
を使った。もちろんvector
で処理してもよい。
コード
#include <bits/stdc++.h>usingnamespacestd; // ======================================== //intmain() { 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分