解いた問題

5/18/2012

SRM499 Div1 Easy

250

やるだけ



  1. class ColorfulRabbits {  
  2. public:  
  3.   int getMinimum(vector <int> R)  
  4.   {  
  5.     map<intint> cnt;  
  6.     for (int i = 0; i < (int)R.size(); ++i) {  
  7.       ++cnt[R[i]];  
  8.     }  
  9.   
  10.     int res = cnt[0];  
  11.   
  12.     FOR (i, cnt) {  
  13.       if (i->first == 0) continue;  
  14.       int a = i->first + 1;  
  15.       int b = i->second;  
  16.       res += ((b / a) + (bool)(b % a)) * a;  
  17.     }  
  18.   
  19.     return res;  
  20.   }  
  21. };