Pokemon Army – Omówienie zadania z platformy Codeforces

Szczegółowe omówienie zadania Pokemon Army:

Link do powyższego omówienia zadania Pokemon Army:
https://youtu.be/8ChVF4kFsJY?t=2262
——-
Link do treści zadania Pokemon Army:
Link do wszystkich zadań z contstu w którym było zadanie Pokemon Army:
https://codeforces.com/contest/1420
Zadanie Pokemon Army pochodzi z platformy Codeforces, dywizji II (łatwiejszej) poziom C1 – prostsza wersja problemu.
——-
Zadanie Pokemon Army wymaga implementacji programowania dynamicznego (dynamika).
Jak się uczyć na podstawie tego zadania?
https://youtu.be/QgLyXYmFQeU?t=2019
——-

#include<bits/stdc++.h>
using namespace std;
 
constexpr int M=3e5+7;
 
long long dp[M][2];
 
int main(){
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	
	int T,n,q,a;
	
	cin>>T;
	
	while(T--){
		cin>>n>>q;
		
		cin>>a;
		dp[0][0]=a;
		
		for(int i=1; i<n; i++){
			cin>>a;
			dp[i][0]=max(dp[i-1][0],dp[i-1][1]+a);
			dp[i][1]=max(dp[i-1][0]-a,dp[i-1][1]);
		}
		
		cout<<dp[n-1][0]<<'\n';
		
		for(int i=0; i<n+3; i++) dp[i][0]=dp[i][1]=0;
	}
	
	return 0;
}
Kod C++ programu Pokemon Army, który jest omówiony w powyższym filmie i który otrzymuje 100% 

Nie dodano jeszcze komentarza, rozpocznij dyskusję pierwszy.

Dodaj komentarz