質問編集履歴

3

修正完了

2023/01/24 15:44

投稿

Neccolini
Neccolini

スコア6

test CHANGED
@@ -1 +1 @@
1
- 初心者です。c++で二分探索を書いたらバグりました。
1
+ *******************
test CHANGED
@@ -1,39 +1,5 @@
1
- ### c++で二分探索
1
+ ***********************************************
2
2
 
3
3
 
4
4
 
5
5
 
6
-
7
- 競技プログラミングで、二分探索でvector<int>型(VIと書いています)のdからt以下の最大の要素を返す関数を書いたのですが、この部分でTLEしてしまいます。何か間違った箇所があるのでしょうか。lower_bound()を用いて書いたらACでしたのでこのように考えました。
8
-
9
- 追記します。dは昇順にソートされ、要素数は2以上です。また全ソースコードのurlを載せます。
10
-
11
- https://atcoder.jp/contests/joi2008ho/submissions/12011336
12
-
13
- ### 該当のソースコード
14
-
15
-
16
-
17
- ```c++
18
-
19
- int f(VI d,int t){
20
-
21
- int left=0,right=d.size();
22
-
23
- while(right-left>0){
24
-
25
- int mid=(right+left)/2;
26
-
27
- if(t==d[mid])return d[mid];
28
-
29
- if(t<d[mid])right=mid;
30
-
31
- else left=mid+1;
32
-
33
- }
34
-
35
- return d[left-1];
36
-
37
- }
38
-
39
- ```

2

情報の追加

2020/04/17 14:03

投稿

Neccolini
Neccolini

スコア6

test CHANGED
File without changes
test CHANGED
@@ -5,6 +5,10 @@
5
5
 
6
6
 
7
7
  競技プログラミングで、二分探索でvector<int>型(VIと書いています)のdからt以下の最大の要素を返す関数を書いたのですが、この部分でTLEしてしまいます。何か間違った箇所があるのでしょうか。lower_bound()を用いて書いたらACでしたのでこのように考えました。
8
+
9
+ 追記します。dは昇順にソートされ、要素数は2以上です。また全ソースコードのurlを載せます。
10
+
11
+ https://atcoder.jp/contests/joi2008ho/submissions/12011336
8
12
 
9
13
  ### 該当のソースコード
10
14
 

1

誤字

2020/04/17 14:02

投稿

Neccolini
Neccolini

スコア6

test CHANGED
File without changes
test CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
 
6
6
 
7
- 競技プログラミングで、二分探索でvector<int>型(VIと書いています)のdからt以下の最大の要素を返す関数を書いたのですが、この部分でTLEしてしまうみたなので何か間違った箇所があるのでしょうか。lower_bound()を用いて書いたらACでしたのでこのように考えました。
7
+ 競技プログラミングで、二分探索でvector<int>型(VIと書いています)のdからt以下の最大の要素を返す関数を書いたのですが、この部分でTLEしてしまいます。何か間違った箇所があるのでしょうか。lower_bound()を用いて書いたらACでしたのでこのように考えました。
8
8
 
9
9
  ### 該当のソースコード
10
10