From 7ce7970ec9a140ba4c8ae517d8fac74bddaa5422 Mon Sep 17 00:00:00 2001 From: Namgup001 <51751217+Namgup001@users.noreply.github.com> Date: Wed, 12 Oct 2022 14:43:25 +0530 Subject: [PATCH] =?UTF-8?q?672C1=5FPok=C3=A9mon=20Army=20(easy=20version).?= =?UTF-8?q?cpp?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit please add under hacktoberfest label --- ...C1_Pok\303\251mon Army (easy version).cpp" | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 "800 Codeforces Solutions/672C1_Pok\303\251mon Army (easy version).cpp" diff --git "a/800 Codeforces Solutions/672C1_Pok\303\251mon Army (easy version).cpp" "b/800 Codeforces Solutions/672C1_Pok\303\251mon Army (easy version).cpp" new file mode 100644 index 0000000..a4b92d6 --- /dev/null +++ "b/800 Codeforces Solutions/672C1_Pok\303\251mon Army (easy version).cpp" @@ -0,0 +1,35 @@ +#include +#include + +using namespace std; + +inline int64_t calc(const vector &a) { + int n = a.size(); + vector d1(n+1), d2(n+1); + d1[0] = -static_cast(1e18); + d2[0] = 0; + for (int i = 0; i < n; ++i) { + d1[i+1] = max(d1[i], d2[i] + a[i]); + d2[i+1] = max(d2[i], d1[i] - a[i]); + } + return max(d1.back(), d2.back()); +} + +int main() { + ios_base::sync_with_stdio(false); + int t; cin >> t; + while (t--) { + int n, q; cin >> n >> q; + vector a(n); + for (int i = 0; i < n; ++i) { + cin >> a[i]; + } + cout << calc(a) << "\n"; + for (int i = 0; i < q; ++i) { + int l, r; cin >> l >> r; --l; --r; + swap(a[l], a[r]); + cout << calc(a) << "\n"; + } + } + return 0; +} \ No newline at end of file