| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1343376 | jmuzhen | Catfish Farm (IOI22_fish) | C++20 | 51 ms | 8796 KiB |
#include "fish.h"
#include <vector>
#include<bits/stdc++.h>
using namespace std;
long long max_weights(int N, int M, std::vector<int> X, std::vector<int> Y,
std::vector<int> W) {
bool is_sub1=1, is_sub2=1, is_sub3 = 1;
for (int i = 0; i < M; i++) {
if (X[i] % 2 != 0) is_sub1 = 0;
if (X[i] > 1) is_sub2 = 0;
if (Y[i] != 0) is_sub3 = 0;
}
if (is_sub1) {
long long ans = 0;
for (int i = 0; i < M; i++) ans += W[i];
return ans;
}
else if (is_sub2) {
long long col0 = 0, col1 = 0;
for (int i = 0; i < M; i++) {
if (X[i] == 0) col0 += W[i];
else col1 += W[i];
}
return max(col0, col1);
}
else if (is_sub3) {
int dp[100000+10][2][2]; // {prev built, next built}
vector<bool> w(N, 0);
for (int i = 0; i < M; i++) {
w[X[i]] = W[i];
}
for (int i = 0; i < N; i++) {
for (int prevb = 0; prevb <= 1; prevb++) {
for (int nextb = 0; nextb <= 1; nextb++) {
// prune
if (i == 0 && prevb) continue;
if (i == N-1 && nextb) continue;
// case1. don't build
int case1 = 0;
{
if (prevb || nextb) {
// can take this one
// case1a:take here
case1 = max(case1, w[i] + max(dp[i-1][0][0], dp[i-1][1][0]));
}
}
// case2. build
int case2 = 0;
{
case2 = max(case2, max(dp[i-1][0][1], dp[i-1][1][1]));
}
}
} // end dp
} // for (N) loop
return max(dp[N-1][0][0],dp[N-1][1][0]);
}
}
Compilation message (stderr)
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
