From 54eb7b695d760a526ab0e0814d21038a4046ce9c Mon Sep 17 00:00:00 2001 From: Karyu Hase Date: Tue, 28 Jun 2022 04:39:50 +0900 Subject: [PATCH 1/3] REVISED --- src/apple.c | 49 +++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 41 insertions(+), 8 deletions(-) diff --git a/src/apple.c b/src/apple.c index 766d543..dc96f9a 100644 --- a/src/apple.c +++ b/src/apple.c @@ -5,13 +5,46 @@ int k; int A[100000]; -int main(){ - int i, lb, ub; - scanf("%d%d", &n, &k); - for(i = 0; i < n; i++){ - scanf("%d", &A[i]); - } +int p(int x) { + int S = 0; + for (int i = 0; i < n; i++) + { + S = S + (A[i] + x - 1) / x; + + } - - return 0; + if(S <= k) + { + return 1; + } + else + { + return 0; + } } + + +int main() { + int i, lb, ub; + scanf("%d%d", &n, &k); + lb = 0; + ub = 1000000000; + for (i = 0; i < n; i++) { + scanf("%d", &A[i]); + } + + while (ub - lb > 1) { + int mid = (lb + ub) / 2; + if (p(mid)) { + ub = mid; + } + else + { + lb = mid; + } + } + + printf("%d", ub); + + return 0; +} \ No newline at end of file From e7731ab965e52d5c716989732be8ee39d8327afe Mon Sep 17 00:00:00 2001 From: Karyu Hase Date: Tue, 28 Jun 2022 04:40:29 +0900 Subject: [PATCH 2/3] REVISED --- src/array.c | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/src/array.c b/src/array.c index 13ed925..b785a45 100644 --- a/src/array.c +++ b/src/array.c @@ -5,14 +5,22 @@ int k; int A[100000]; -int main(){ - int i, lb, ub; - scanf("%d%d", &n, &k); - for(i = 0; i < n; i++){ - scanf("%d", &A[i]); - } +int main() { + int i, lb, ub; + scanf("%d%d", &n, &k); + lb = 0; + ub = n; + for (i = 0; i < n; i++) { + scanf("%d", &A[i]); + } + while (ub - lb > 1) { + int mid = (lb + ub) / 2; + if (A[mid] >= k) ub = mid; + else lb = mid; + } + printf("%d", ub); - return 0; -} + return 0; +} \ No newline at end of file From 0cc8b0a30eb2f3d35824d20d11b8358159c02ab1 Mon Sep 17 00:00:00 2001 From: Karyu Hase Date: Tue, 28 Jun 2022 04:41:23 +0900 Subject: [PATCH 3/3] REVISED --- src/spear.c | 48 ++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 40 insertions(+), 8 deletions(-) diff --git a/src/spear.c b/src/spear.c index 766d543..cabd041 100644 --- a/src/spear.c +++ b/src/spear.c @@ -5,13 +5,45 @@ int k; int A[100000]; -int main(){ - int i, lb, ub; - scanf("%d%d", &n, &k); - for(i = 0; i < n; i++){ - scanf("%d", &A[i]); - } +int p(int x) { + int m = 0; + for (int i = 0; i < n; i++) + { + m = m + A[i] / x; - - return 0; + } + if (m >= k) + { + return 1; + } + else + { + return 0; + } } + + +int main() { + int i, lb, ub; + scanf("%d%d", &n, &k); + lb = 0; + ub = 1000000000; + for (i = 0; i < n; i++) { + scanf("%d", &A[i]); + } + + while (ub - lb > 1) { + int mid = (lb + ub) / 2; + if (p(mid)) { + lb = mid; + } + else + { + ub = mid; + } + } + + printf("%d", lb); + + return 0; +} \ No newline at end of file