Sun, 04 Aug 2019 14:04:36 +0800

master
大蒟蒻 6 years ago
parent d0492767a2
commit 98565ebf8a

@ -30,30 +30,14 @@ int main()
for (int t = 1; t <= T; t++)
{
scanf("%d%d", &n, &K);
for (int i = 0; i < n; i++)
scanf("%d", a + i);
sort(a, a + n, greater<int>());
int L = a[0], R = a[0] * n + 1, M = L;
while (L < R - 1)
{
M = (L + R) >> 1;
if (calc(n, M) <= K)
R = M;
else
L = M;
}
//if (calc(n, M = L) > K) M = L + 1;
int flag = 1;
for (int st = max(a[0], M - 100);; st++)
for (int i = 0; i < n; i++) scanf("%d", a + i);
sort(a, a + n);
for (int st = accumulate(a, a + n, K - 1) / K;; st++)
if (calc(n, st) <= K)
{
printf("Case #%d: %d\n", t, st);
flag = 0;
break;
}
if (flag)
for (;;)
;
}
return 0;
}
Loading…
Cancel
Save