BOJ 26975 - Cow College

image.png

정렬 후 $c_i$ 가 큰 쪽부터 봐주며 현재 $c_i$ 이상인 것의 개수는 $n-i$ 명이기 때문에 $\text{max}_{i=0}^{n-1} c_i \cdot (n-i)$ 이 정답이다.

void solve() {
   int n;
   cin >> n;
   vector<ll> a(n);
   fv(a);
   sort(all(a));
   ll sum = acc(a);
   ll ans = 0, ans_t = 0;
   for (int i = n - 1; i >= 0; i--) {
      ll get = (n - i) * a[i];

      if (get >= ans) {
         ans = get;
         ans_t = a[i];
      }
   }
   cout << ans << ' ' << ans_t;
}

Tags:

Categories:

Updated:

Comments