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

  1. 整数集合划分
更多...

函数

int main (istream &cin, ostream &cout)
 
 TEST (acwing1603, case1)
 
 TEST (acwing1603, case2)
 

详细描述

  1. 整数集合划分

函数说明

◆ main()

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

在文件 acwing408.cpp1403 行定义.

1403 {
1404 int n;
1405 cin >> n;
1406 vector<int> vec(n);
1407 for(int i = 0; i < n; i++) {
1408 cin >> vec[i];
1409 }
1410 sort(vec.begin(), vec.end());
1411 if(n % 2 == 0) {
1412 int s1 = 0;
1413 int s2 = 0;
1414 for(int i = 0; i < n / 2; i++) {
1415 s1 += vec[i];
1416 }
1417 for(int i = n / 2; i < n; i++) {
1418 s2 += vec[i];
1419 }
1420 cout << "0 " << abs(s1 - s2);
1421 } else {
1422 int s1 = 0;
1423 int s2 = 0;
1424 for(int i = 0; i < n / 2; i++) {
1425 s1 += vec[i];
1426 }
1427 for(int i = n / 2 + 1; i < n; i++) {
1428 s2 += vec[i];
1429 }
1430 int res1 = abs((s1 + vec[n / 2]) - s2);
1431 int res2 = abs(s1 - (s2 + vec[n / 2]));
1432 int res = max(res1, res2);
1433 cout << "1 " << res;
1434 }
1435 return 0;
1436 }
int vec[100010]
Definition: pat.cpp:5095

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

被这些函数引用 TEST().

◆ TEST() [1/2]

acwing::acwing1603::TEST ( acwing1603  ,
case1   
)

在文件 acwing408_test.cpp1729 行定义.

1729 {
1730 istringstream in("10\n"
1731 "23 8 10 99 46 2333 46 1 666 555");
1732 auto out = ostringstream();
1733 main(in, out);
1734 const auto ans = out.str();
1735 ASSERT_EQ("0 3611",
1736 ans);
1737 }
int main(int argc, char **argv)
Definition: main.cpp:5

引用了 main().

◆ TEST() [2/2]

acwing::acwing1603::TEST ( acwing1603  ,
case2   
)

在文件 acwing408_test.cpp1739 行定义.

1739 {
1740 istringstream in("13\n"
1741 "110 79 218 69 3721 100 29 135 2 6 13 5188 85");
1742 auto out = ostringstream();
1743 main(in, out);
1744 const auto ans = out.str();
1745 ASSERT_EQ("1 9359",
1746 ans);
1747 }

引用了 main().