diff --git a/src/apple.c b/src/apple.c index 766d543..ca58134 100644 --- a/src/apple.c +++ b/src/apple.c @@ -4,14 +4,28 @@ int n; int k; int A[100000]; +int p(int m){ + int i,sum; + sum=0; + for(i=0;i1){ + int mid=(lb+ub)/2; + if(p(mid)){ub=mid;} + else{lb=mid;} + } - + printf("%d\n",ub); return 0; } diff --git a/src/array.c b/src/array.c index 13ed925..a7caa76 100644 --- a/src/array.c +++ b/src/array.c @@ -6,13 +6,18 @@ int A[100000]; int main(){ - int i, lb, ub; + int i, lb, ub; /* 追記する */ scanf("%d%d", &n, &k); + lb=-1; + ub=n; for(i = 0; i < n; i++){ scanf("%d", &A[i]); } - - - - return 0; + while(ub-lb >1){ + int mid=(lb+ub)/2; + if(A[mid]>=k) ub=mid; + else lb=mid; + } + printf("%d\n",ub); + return ub; } diff --git a/src/spear.c b/src/spear.c index 766d543..2a72f6a 100644 --- a/src/spear.c +++ b/src/spear.c @@ -4,14 +4,27 @@ int n; int k; int A[100000]; +int p(int m){ + int i,sum; + sum=0; + for(i=0;i=k; + +} int main(){ int i, lb, ub; scanf("%d%d", &n, &k); + lb=0; + ub=1000000001; for(i = 0; i < n; i++){ scanf("%d", &A[i]); } - - + while(ub-lb>1){ + int mid=(ub+lb)/2; + if(p(mid)){lb=mid;} + else{ub=mid;} + } + printf("%d\n",lb); return 0; }