Submission #60254


ソースコード

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/*二分探索*/
#include <stdio.h>
signed main(){
int N;
int a[1000000];
int i;
scanf("%d",&N);
for(i=0;i<N;i++){
scanf("%d",&a[i]);
}
int M;
scanf("%d",&M);
int j;
for(j=0;j<M;j++){
int T;
scanf("%d",&T);
int ok=-1,ng=N;
while(ng-ok>1){
int mid=(ok+ng)/2;
if(a[mid] <= T){ /*a[] はただの配列名 tは条件*/
ok=mid;/*範囲を決める*/
}else{
ng=mid;/*範囲を決める*/
}
}
printf("%d\n",ok+1);
}
return(0);
}

ステータス

項目 データ
問題 0738 - プログラミング入門:二分探索
ユーザー名 ei2011
投稿日時 2020-06-24 18:25:16
言語 C
状態 Accepted
得点 10
ソースコード長 600 Byte
最大実行時間 107 ms
最大メモリ使用量 7176 KB

セット

セット 得点 Cases
1 Linear Search 2 / 2 Input0[1-5]
2 Binary Search 8 / 8 *

テストケース

ファイル名 状態 実行時間 メモリ使用量 #
Input01 AC 23 ms 504 KB
1
2
Input02 AC 20 ms 300 KB
1
2
Input03 AC 17 ms 308 KB
1
2
Input04 AC 26 ms 352 KB
1
2
Input05 AC 17 ms 392 KB
1
2
Input06 AC 107 ms 4908 KB
2
Input07 AC 106 ms 5536 KB
2
Input08 AC 94 ms 6300 KB
2
Input09 AC 103 ms 7056 KB
2
Input10 AC 95 ms 7176 KB
2