Submission #1212755

#TimeUsernameProblemLanguageResultExecution timeMemory
1212755banganCatfish Farm (IOI22_fish)C++20
0 / 100
33 ms3512 KiB
#include "fish.h"
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define pb push_back
#define all(a) a.begin(), a.end()

long long max_weights(int N, int M, std::vector<int> X, std::vector<int> Y, std::vector<int> W) {
	vector<int> ord;
	for (int i=0; i<M; i++) ord.pb(i);
	sort(all(ord), [&](int i, int j) {
		return Y[i] < Y[j];
	});
	vector<ll> dp(M+ (X[ord.back()] < N - 1));
	ord.pb(W.size());
	W.pb(0);
	dp[0] = W[ord[0]];
	if (1<dp.size()) dp[1] = max(W[ord[0]], W[ord[1]]);
	if (2<dp.size()) dp[2] = max({W[ord[1]], W[ord[0]]+W[ord[2]]});
	for (int i=3; i<dp.size(); i++) {
		dp[i] = dp[i-2] + W[ord[i-1]];
		dp[i] = max(dp[i], dp[i-1]);
		dp[i] = max(dp[i], dp[i-3] + W[ord[i-2]] + W[ord[i]]);
	}
	return dp.back();
}
#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...