AcWing 3745. 牛的学术圈 I
更多...
|
int | main (istream &cin, ostream &cout) |
|
| TEST (acwing3745, case1) |
|
| TEST (acwing3745, case2) |
|
| TEST (acwing3745, case3) |
|
| TEST (acwing3745, case4) |
|
| TEST (acwing3745, case5) |
|
| TEST (acwing3745, case6) |
|
| TEST (acwing3745, case7) |
|
| TEST (acwing3745, case8) |
|
◆ main()
int acwing::acwing3745::main |
( |
istream & | cin, |
|
|
ostream & | cout ) |
在文件 acwing.cpp 第 5494 行定义.
5494 {
5495 int n;
5496 int l;
5497 cin >> n >> l;
5498 vector<int> c(n);
5499 unordered_map<int, int> count;
5500 for(int i = 0; i < n; i++) {
5501 cin >> c[i];
5502 count[c[i]]++;
5503 }
5504 sort(c.rbegin(), c.rend());
5505 if(*c.begin() == 0) {
5506 if(l != 0) {
5507 *c.begin() = 1;
5508 l--;
5509 } else {
5510 cout << 0;
5511 return 0;
5512 }
5513 }
5514 int h = 0;
5515 while(h < n && c[h] >= h + 1) {
5516 h++;
5517 }
5518 if(l == 0) {
5519 cout << h;
5520 return 0;
5521 }
5522 int k = 0;
5523 for(int i = h - 1; i >= 0 && c[i] == h; i--) {
5524 k++;
5525 }
5526 if(l >= k + 1 && c[h] == h) {
5527 cout << h + 1;
5528 } else {
5529 cout << h;
5530 }
5531 return 0;
5532 }
被这些函数引用 TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST() , 以及 TEST().
◆ TEST() [1/8]
acwing::acwing3745::TEST |
( |
acwing3745 | , |
|
|
case1 | ) |
在文件 acwing_test.cpp 第 2555 行定义.
2555 {
2556 istringstream in("4 0\n"
2557 "1 100 2 3");
2558 auto out = ostringstream();
2560 const auto ans = out.str();
2561 ASSERT_EQ("2", ans);
2562 }
int main(istream &cin, ostream &cout)
引用了 main().
◆ TEST() [2/8]
acwing::acwing3745::TEST |
( |
acwing3745 | , |
|
|
case2 | ) |
在文件 acwing_test.cpp 第 2564 行定义.
2564 {
2565 istringstream in("4 1\n"
2566 "1 100 2 3");
2567 auto out = ostringstream();
2569 const auto ans = out.str();
2570 ASSERT_EQ("3", ans);
2571 }
引用了 main().
◆ TEST() [3/8]
acwing::acwing3745::TEST |
( |
acwing3745 | , |
|
|
case3 | ) |
在文件 acwing_test.cpp 第 2573 行定义.
2573 {
2574 istringstream in("1 1\n"
2575 "0");
2576 auto out = ostringstream();
2578 const auto ans = out.str();
2579 ASSERT_EQ("1", ans);
2580 }
引用了 main().
◆ TEST() [4/8]
acwing::acwing3745::TEST |
( |
acwing3745 | , |
|
|
case4 | ) |
在文件 acwing_test.cpp 第 2582 行定义.
2582 {
2583 istringstream in("10 9\n"
2584 "9 9 10 9 9 9 9 9 9 9");
2585 auto out = ostringstream();
2587 const auto ans = out.str();
2588 ASSERT_EQ("10", ans);
2589 }
引用了 main().
◆ TEST() [5/8]
acwing::acwing3745::TEST |
( |
acwing3745 | , |
|
|
case5 | ) |
在文件 acwing_test.cpp 第 2591 行定义.
2591 {
2592 istringstream in("2 1\n"
2593 "1 1");
2594 auto out = ostringstream();
2596 const auto ans = out.str();
2597 ASSERT_EQ("1", ans);
2598 }
引用了 main().
◆ TEST() [6/8]
acwing::acwing3745::TEST |
( |
acwing3745 | , |
|
|
case6 | ) |
在文件 acwing_test.cpp 第 2600 行定义.
2600 {
2601 ostringstream oss;
2602 oss << 1000 << ' ' << 1000 << endl;
2603 for(int i = 0; i < 999; i++) {
2604 oss << 999 << ' ';
2605 }
2606 oss << 998;
2607 istringstream in(oss.str());
2608 auto out = ostringstream();
2610 const auto ans = out.str();
2611 ASSERT_EQ("999", ans);
2612 }
引用了 main().
◆ TEST() [7/8]
acwing::acwing3745::TEST |
( |
acwing3745 | , |
|
|
case7 | ) |
在文件 acwing_test.cpp 第 2614 行定义.
2614 {
2615 istringstream in("10 10\n"
2616 "0 0 0 0 0 0 0 0 0 0");
2617 auto out = ostringstream();
2619 const auto ans = out.str();
2620 ASSERT_EQ("1", ans);
2621 }
引用了 main().
◆ TEST() [8/8]
acwing::acwing3745::TEST |
( |
acwing3745 | , |
|
|
case8 | ) |
在文件 acwing_test.cpp 第 2623 行定义.
2623 {
2624 istringstream in("100 11\n"
2625 "50 54 50 50 50 50 50 50 50 54 50 50 50 50 51 52 54 50 50 50 50 50 50 54 52 50 52 50 50 53 52 50 51 50 50 50 50 50 51 50 52 50 50 53 50 54 50 50 50 54 53 54 50 53 50 50 54 50 50 52 51 50 52 50 51 51 50 50 53 52 52 50 50 50 50 50 50 50 53 51 50 50 50 53 50 50 54 53 50 51 50 53 52 51 50 50 53 50 51 54");
2626 auto out = ostringstream();
2628 const auto ans = out.str();
2629 ASSERT_EQ("51", ans);
2630 }
引用了 main().