結果

提出番号 2257
提出者 th90tk297
言語 C++
提出日時 2019-11-17 21:40:25
問題名 (11)いわゆる検索
結果 AC
点数 100%

テストケース

テストケース 結果 得点 実行時間 メモリ使用量
1 AC 100% 2ms 8544KB
2 AC 100% 2ms 8544KB
3 AC 100% 389ms 14016KB
4 AC 100% 383ms 14000KB
5 AC 100% 389ms 14016KB
6 AC 100% 380ms 14000KB
7 AC 100% 376ms 14000KB
8 AC 100% 390ms 14000KB
9 AC 100% 394ms 14000KB
10 AC 100% 384ms 14000KB
11 AC 100% 399ms 14000KB
12 AC 100% 384ms 14016KB
13 AC 100% 371ms 14000KB
14 AC 100% 382ms 14000KB
15 AC 100% 383ms 14016KB
16 AC 100% 384ms 14000KB
17 AC 100% 384ms 14000KB
18 AC 100% 380ms 14000KB
19 AC 100% 384ms 14000KB
20 AC 100% 385ms 14000KB

ソースコード

#include<iostream>
#include<algorithm>
#include<string>
#include<vector>
#define int long long
#define mod 1000000007
#define for0(i, n) for(int i = 0; i < (n); i++)
#define for1(i, n) for(int i = 1; i <= (n);i++)
using namespace std;
int n, x[345678], q, key;
signed main() {
	cin >> n; for1(i, n)cin >> x[i];
	cin >> q;
	for0(i, q) {
		cin >> key;
		int l = 1, r = n;
		if (key <= x[l])r = 1;
		if (x[r] < key) { l = n; r = n + 1; }
		while (r - l > 1) {
			int mid = (l + r) / 2;
			if (key <= x[mid])r = mid;
			else l = mid;
		}
		cout << n - r + 1 << endl;
	}
}