| 提出番号 | 199 |
|---|---|
| 提出者 | yakimeshi No.2 |
| 言語 | C++ |
| 提出日時 | 2017-07-08 18:18:48 |
| 問題名 | (11)いわゆる検索 |
| 結果 | AC |
| 点数 | 100% |
| テストケース | 結果 | 得点 | 実行時間 | メモリ使用量 |
|---|---|---|---|---|
| 1 | AC | 100% | 2ms | 8320KB |
| 2 | AC | 100% | 3ms | 8032KB |
| 3 | AC | 100% | 315ms | 13984KB |
| 4 | AC | 100% | 519ms | 13984KB |
| 5 | AC | 100% | 563ms | 14000KB |
| 6 | AC | 100% | 324ms | 13984KB |
| 7 | AC | 100% | 317ms | 13984KB |
| 8 | AC | 100% | 494ms | 14000KB |
| 9 | AC | 100% | 316ms | 13984KB |
| 10 | AC | 100% | 491ms | 13984KB |
| 11 | AC | 100% | 320ms | 13984KB |
| 12 | AC | 100% | 479ms | 13984KB |
| 13 | AC | 100% | 460ms | 14000KB |
| 14 | AC | 100% | 334ms | 13984KB |
| 15 | AC | 100% | 380ms | 13984KB |
| 16 | AC | 100% | 477ms | 14000KB |
| 17 | AC | 100% | 322ms | 13968KB |
| 18 | AC | 100% | 320ms | 13984KB |
| 19 | AC | 100% | 441ms | 13984KB |
| 20 | AC | 100% | 318ms | 13984KB |
#include <iostream>
using namespace std;
long long n;
long long x;
long long q = 0;
long long A = 0;
long long B[500000];
long long con = 0;
long long s = 0;
long long t=0;
void search() {
long long high = n;
long long low = 0;
long long mid = 0;
for (;;) {
mid = (high + low) / 2;
if (B[mid-1] < A && A< B[mid]) {
cout<<n - mid<<endl;
break;
}
if ( A ==B[mid]) {
cout << n - mid << endl;
break;
}
if (B[mid] > A) {
high= mid;
}
if (B[mid] < A) {
low = mid+1;
}
}
}
int main() {
cin >> n;
for (long long i = 0; i < n; ++i) {
cin >> x;
B[i] = x;
}
t = n - 1;
cin >> q;
for (long long t = 0; t < q; ++t) {
cin >> A;
if (B[n - 1] < A) {
cout << 0 << endl;
continue;
}
else {
search();
continue;
}
}
return 0;
}