problemscpp
A collection of my answers to algorithm problems in c++.
函数
acwing::acwing789 命名空间参考

  1. 数的范围
更多...

函数

long bfl (const vector< long > &vec, long target)
 
unsigned bfl (const vector< unsigned > &vec, unsigned target)
 
long bfr (const vector< long > &vec, long target)
 
unsigned bfr (const vector< unsigned > &vec, unsigned target)
 
int main (istream &cin, ostream &cout)
 
 TEST (acwing789, case1)
 

详细描述

  1. 数的范围

函数说明

◆ bfl() [1/2]

long acwing::acwing789::bfl ( const vector< long > &  vec,
long  target 
)

在文件 acwing.cpp6380 行定义.

6380 {
6381 int l = 0;
6382 int r = vec.size() - 1;
6383 while(l < r) {
6384 const int m = (l + r + 1) / 2;
6385 if(vec[m] <= target) {
6386 l = m;
6387 } else {
6388 r = m - 1;
6389 }
6390 }
6391 if(vec[l] != target) {
6392 return -1;
6393 }
6394 return l;
6395 }
int vec[100010]
Definition: pat.cpp:5095

引用了 pat::a::a7_2::vec.

被这些函数引用 main().

◆ bfl() [2/2]

unsigned acwing::acwing789::bfl ( const vector< unsigned > &  vec,
unsigned  target 
)

◆ bfr() [1/2]

long acwing::acwing789::bfr ( const vector< long > &  vec,
long  target 
)

在文件 acwing.cpp6397 行定义.

6397 {
6398 int l = 0;
6399 int r = vec.size() - 1;
6400 while(l < r) {
6401 const int m = (l + r) / 2;
6402 if(vec[m] < target) {
6403 l = m + 1;
6404 } else {
6405 r = m;
6406 }
6407 }
6408 if(vec[l] != target) {
6409 return -1;
6410 }
6411 return l;
6412 }

引用了 pat::a::a7_2::vec.

被这些函数引用 main().

◆ bfr() [2/2]

unsigned acwing::acwing789::bfr ( const vector< unsigned > &  vec,
unsigned  target 
)

◆ main()

int acwing::acwing789::main ( istream &  cin,
ostream &  cout 
)

在文件 acwing.cpp6414 行定义.

6414 {
6415 long n;
6416 long q;
6417 cin >> n >> q;
6418 vector<long> vec(n);
6419 for(long i = 0; i < n; i++) {
6420 cin >> vec[i];
6421 }
6422 for(long i = 0; i < q; i++) {
6423 long k;
6424 cin >> k;
6425 cout << bfr(vec, k) << ' ' << bfl(vec, k) << endl;
6426 }
6427 return 0;
6428 }
long bfl(const vector< long > &vec, long target)
Definition: acwing.cpp:6380
long bfr(const vector< long > &vec, long target)
Definition: acwing.cpp:6397

引用了 bfl(), bfr() , 以及 pat::a::a7_2::vec.

被这些函数引用 TEST().

◆ TEST()

acwing::acwing789::TEST ( acwing789  ,
case1   
)

在文件 acwing_test.cpp2999 行定义.

2999 {
3000 istringstream in("6 3\n"
3001 "1 2 2 3 3 4\n"
3002 "3\n"
3003 "4\n"
3004 "5");
3005 auto out = ostringstream();
3006 main(in, out);
3007 const auto ans = out.str();
3008 ASSERT_EQ("3 4\n"
3009 "5 5\n"
3010 "-1 -1\n",
3011 ans);
3012 }
int main(int argc, char **argv)
Definition: main.cpp:5

引用了 main().