제출 #1187965

#제출 시각아이디문제언어결과실행 시간메모리
1187965versesrev수열 (APIO14_sequence)C++20
컴파일 에러
0 ms0 KiB
#include <iostream> #include <vector> #include <limits> #include <numeric> int main() { int n, k; std::cin >> n >> k; std::vector<int> xs(n); for (int& x : xs) std::cin >> x; std::vector<long long> sum(n); std::partial_sum(xs.begin(), xs.end(), sum.begin()); long long INF = std::numeric_limit<long long>::max(); std::vector<std::vector<long long>> dp(k+1, std::vector<long long>(n)); std::vector<std::vector<int>> back(k+1, std::vector<int>(n, -1)); //dp[0].assign(n, INF), dp[1].assign(n, INF); for (int i = 0; i < n; ++i) { dp[0][i] = sum[i] * sum[i]; back[0][i] = -1; } for (int ik = 1; ik <= k; ++ik) { for (int i = 0; i < n; ++i) { for (int j = ik; j <= i; ++j) { long long v = dp[ik-1][j-1] + (sum[i] - sum[j-1]) * (sum[i] - sum[j-1]) ); if (dp[ik][i] > v) { dp[ik][i] = v; back[ik][i] = j - 1; } } } } std::vector<int> ans; for (int p = n - 1, ik = k; ik; --ik) { p = back[ik][p]; ans.push_back(p + 1); } std::ranges::reverse(ans); for (int v : ans) std::cout << v << " "; std::cout << "\n"; }

컴파일 시 표준 에러 (stderr) 메시지

sequence.cpp: In function 'int main()':
sequence.cpp:15:24: error: 'numeric_limit' is not a member of 'std'; did you mean 'numeric_limits'?
   15 |   long long INF = std::numeric_limit<long long>::max();
      |                        ^~~~~~~~~~~~~
      |                        numeric_limits
sequence.cpp:15:38: error: expected primary-expression before 'long'
   15 |   long long INF = std::numeric_limit<long long>::max();
      |                                      ^~~~
sequence.cpp:29:9: error: expected ',' or ';' before ')' token
   29 |         );
      |         ^
sequence.cpp:42:16: error: 'reverse' is not a member of 'std::ranges'; did you mean 'std::reverse'?
   42 |   std::ranges::reverse(ans);
      |                ^~~~~~~
In file included from /usr/include/c++/11/string:52,
                 from /usr/include/c++/11/bits/locale_classes.h:40,
                 from /usr/include/c++/11/bits/ios_base.h:41,
                 from /usr/include/c++/11/ios:42,
                 from /usr/include/c++/11/ostream:38,
                 from /usr/include/c++/11/iostream:39,
                 from sequence.cpp:1:
/usr/include/c++/11/bits/stl_algo.h:1145:5: note: 'std::reverse' declared here
 1145 |     reverse(_BidirectionalIterator __first, _BidirectionalIterator __last)
      |     ^~~~~~~