제출 #1169737

#제출 시각아이디문제언어결과실행 시간메모리
1169737thelegendary08메기 농장 (IOI22_fish)C++17
0 / 100
40 ms18248 KiB
#include "fish.h"
#include<bits/stdc++.h>
#define int long long
#define vi vector<int>
#define pb push_back
#define f0r(i,n) for(int i = 0; i<n; i++)
#define FOR(i, k, n) for(int i = k; i<n; i++)

using namespace std;

int max_weights(signed n, signed m, std::vector<signed> x, std::vector<signed> y,
                      std::vector<signed> w) {
	int ans = 0;
	vi v(n);
	f0r(i,m){
		v[x[i]] = w[i];
	}
	vector<vector<vi>> dp(n, vector<vi>(2, vi(2)));
	dp[1][0][1] = v[0];
	dp[1][1][0] = v[1];
	FOR(i, 2, n){
		dp[i][0][0] = max(dp[i-1][0][0], dp[i-1][1][0]);
		dp[i][0][1] = max(dp[i-1][0][0], dp[i-1][1][0]) + v[i-1];
		dp[i][1][0] = max(dp[i-1][0][1], dp[i-1][1][1]) + v[i];
		dp[i][1][1] = max(dp[i-1][0][1], dp[i-1][1][1]);
	}
	f0r(i, 2)f0r(j,2)ans = max(ans, dp[n-1][i][j]);
	return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...