Submission #60249


ソースコード

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
30
31
32
33
34
35
36
#include <stdio.h>
signed main(){
int N;
scanf("%d", &N); /*与えられる整数の数を入力*/
long long Data[1000001];
int i;
for(i=0; i<N; i++){ /* Data の中に N個の整数を入れる */
scanf("%lld", &Data[i]);
}
int M; /*命令の回数*/
scanf("%d", &M);
int j;
int mid;
for(j=0; j<M; j++){
int T;
scanf("%d", &T);
int left= -1;
int right= N;
while(right-left > 1) { /*範囲が 1 になった時処理をしなくなる*/
mid = (right+left)/2;
if(Data[mid] <= T){
left = mid;
}else{
right = mid;
}
}
printf("%d\n", left+1);
}
return 0;
}

ステータス

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

セット

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

テストケース

ファイル名 状態 実行時間 メモリ使用量 #
Input01 AC 27 ms 504 KB
1
2
Input02 AC 17 ms 524 KB
1
2
Input03 AC 17 ms 564 KB
1
2
Input04 AC 17 ms 612 KB
1
2
Input05 AC 23 ms 520 KB
1
2
Input06 AC 105 ms 8876 KB
2
Input07 AC 104 ms 9436 KB
2
Input08 AC 102 ms 10132 KB
2
Input09 AC 102 ms 10824 KB
2
Input10 AC 99 ms 11000 KB
2