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

1007 Maximum Subsequence Sum 更多...

函数

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

详细描述

1007 Maximum Subsequence Sum

函数说明

◆ main()

int pat::a::a1007::main ( istream &  cin,
ostream &  cout 
)

在文件 pat.cpp4160 行定义.

4160 {
4161 int k;
4162 cin >> k;
4163 vector<int> vec(k);
4164 bool flag = false;
4165 for(int i = 0; i < k; i++) {
4166 cin >> vec[i];
4167 if(vec[i] >= 0) {
4168 flag = true;
4169 }
4170 }
4171 if(!flag) {
4172 cout << "0 " << vec[0] << ' ' << vec[k - 1];
4173 return 0;
4174 }
4175 vector<int> pref_sum(k);
4176 pref_sum[0] = vec[0];
4177 for(int i = 1; i < k; i++) {
4178 pref_sum[i] = pref_sum[i - 1] + vec[i];
4179 }
4180 int max_sum = pref_sum[k - 1];
4181 int max_start = 0;
4182 int max_end = k - 1;
4183 for(int i = 0; i < k; i++) {
4184 for(int j = i; j < k; j++) {
4185 const int sum = pref_sum[j] - pref_sum[i] + vec[i];
4186 if(sum > max_sum) {
4187 max_sum = sum;
4188 max_start = i;
4189 max_end = j;
4190 }
4191 }
4192 }
4193 cout << max_sum << ' ' << vec[max_start] << ' ' << vec[max_end];
4194 return 0;
4195 }
int vec[100010]
Definition: pat.cpp:5095

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

被这些函数引用 TEST().

◆ TEST()

pat::a::a1007::TEST ( a1007  ,
case1   
)

在文件 pat_test.cpp2015 行定义.

2015 {
2016 istringstream in("10\n"
2017 "-10 1 2 3 4 -5 -23 3 7 -21");
2018 auto out = ostringstream();
2019 main(in, out);
2020 ASSERT_EQ("10 1 4", out.str());
2021 }
int main(int argc, char **argv)
Definition: main.cpp:5

引用了 main().