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

  1. 卡牌
更多...

函数

bool cmp (const pair< int, int > &a, const pair< int, int > &b)
 
int main (istream &cin, ostream &cout)
 
 TEST (acwing4397, case2)
 

详细描述

  1. 卡牌

函数说明

◆ cmp()

bool acwing::acwing4397::cmp ( const pair< int, int > &  a,
const pair< int, int > &  b 
)

◆ main()

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

在文件 acwing.cpp6472 行定义.

6472 {
6473 int n;
6474 int k;
6475 cin >> n >> k;
6476 vector<int> a(n);
6477 vector<int> b(n);
6478 vector<pair<int, int>> a_b(n);
6479 for(int i = 0; i < n; i++) {
6480 cin >> a[i];
6481 }
6482 for(int i = 0; i < n; i++) {
6483 cin >> b[i];
6484 a_b[i] = make_pair(a[i] - b[i], i);
6485 }
6486 sort(a_b.begin(), a_b.end(), cmp);
6487 for(int i = 0; i < k; i++) {
6488 if(a_b[i].first > 0) {
6489 a[a_b[i].second] = b[a_b[i].second];
6490 } else {
6491 break;
6492 }
6493 }
6494 long long ans = 0;
6495 for(int i = 0; i < n; i++) {
6496 ans += a[i];
6497 }
6498 cout << ans;
6499 return 0;
6500 }
bool cmp(const pair< int, int > &a, const pair< int, int > &b)
Definition: acwing.cpp:6470

引用了 cmp().

被这些函数引用 TEST().

◆ TEST()

acwing::acwing4397::TEST ( acwing4397  ,
case2   
)

在文件 acwing_test.cpp3037 行定义.

3037 {
3038 istringstream in("5 3\n3 4 7 10 3\n4 5 5 12 5");
3039 auto out = ostringstream();
3040 main(in, out);
3041 const auto ans = out.str();
3042 ASSERT_EQ("25", ans);
3043 }
int main(int argc, char **argv)
Definition: main.cpp:5

引用了 main().