読むだけ
- class OlympicCandles {
- public:
- int numberOfNights(vector <int> C)
- {
- int night = 1;
- while (true) {
- sort(C.begin(), C.end());
- reverse(C.begin(), C.end());
- int cnt = 0;
- for (int i = 0; i < (int)min((int)C.size(), night); ++i) {
- if (0 < C[i]) ++cnt;
- --C[i];
- }
- if (cnt == night) ++night;
- else break;
- }
- return night - 1;
- }
- };