Submission #47841015
Source Code Expand
// LUOGU_RID: 136458849
#include <bits/stdc++.h>
using namespace std;
typedef long long i64;
int n, m;
int a[5005], _b[205][5005];
int _st[205][5005], _tot[5005];
i64 c[5005], ans[5005];
inline void add(int l, int r, int k) { c[l] += k; c[r + 1] -= k; }
int main(void) {
ios::sync_with_stdio(0);
cin >> n >> m;
for (int i = 1; i < n; ++i) cin >> a[i];
for (int i = 1; i <= n; ++i) for (int j = 1; j <= m; ++j) cin >> _b[j][i];
for (int i = 1; i <= m; ++i) _st[i][_tot[i] = 1] = n + 1, _b[i][n + 1] = 1e9 + 1;
i64 tans = 0;
for (int i = n; i >= 1; --i) {
add(i + 1, n, -a[i]);
for (int j = 1; j <= m; ++j) {
int *b = _b[j], *st = _st[j], &tot = _tot[j]; add(i, i, b[i]);
while (tot && b[st[tot]] <= b[i])
add(st[tot], st[tot - 1] - 1, b[i] - b[st[tot]]), --tot;
st[++tot] = i;
}
i64 res = 0;
for (int j = i; j <= n; ++j)
res += c[j], c[j] = 0, tans = max(tans, ans[j] += res);
}
cout << tans << "\n";
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | F - Yakiniku Restaurants |
| User | james1BadCreeper |
| Language | C++ 17 (gcc 12.2) |
| Score | 1000 |
| Code Size | 1109 Byte |
| Status | AC |
| Exec Time | 91 ms |
| Memory | 8332 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 1000 / 1000 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample_01.txt, sample_02.txt |
| All | sample_01.txt, sample_02.txt, subtask_1_dense_max_01.txt, subtask_1_dense_max_02.txt, subtask_1_dense_max_03.txt, subtask_1_dense_max_04.txt, subtask_1_dense_rand_01.txt, subtask_1_dense_rand_02.txt, subtask_1_dense_rand_03.txt, subtask_1_dense_rand_04.txt, subtask_1_max_01.txt, subtask_1_max_02.txt, subtask_1_max_03.txt, subtask_1_max_04.txt, subtask_1_min_01.txt, subtask_1_min_02.txt, subtask_1_rand_01.txt, subtask_1_rand_02.txt, subtask_1_rand_03.txt, subtask_1_rand_04.txt, subtask_1_widemax_01.txt, subtask_1_widemax_02.txt, subtask_1_widemax_03.txt, subtask_1_widemax_04.txt, subtask_1_widemax_05.txt, subtask_1_widemax_06.txt, subtask_1_widemax_07.txt, subtask_1_widemax_08.txt, subtask_1_widemax_09.txt, subtask_1_widemax_10.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| sample_01.txt | AC | 1 ms | 3484 KiB |
| sample_02.txt | AC | 1 ms | 3456 KiB |
| subtask_1_dense_max_01.txt | AC | 90 ms | 8276 KiB |
| subtask_1_dense_max_02.txt | AC | 89 ms | 8252 KiB |
| subtask_1_dense_max_03.txt | AC | 90 ms | 8248 KiB |
| subtask_1_dense_max_04.txt | AC | 89 ms | 8332 KiB |
| subtask_1_dense_rand_01.txt | AC | 56 ms | 7468 KiB |
| subtask_1_dense_rand_02.txt | AC | 62 ms | 7820 KiB |
| subtask_1_dense_rand_03.txt | AC | 3 ms | 3828 KiB |
| subtask_1_dense_rand_04.txt | AC | 13 ms | 4628 KiB |
| subtask_1_max_01.txt | AC | 89 ms | 8312 KiB |
| subtask_1_max_02.txt | AC | 90 ms | 8272 KiB |
| subtask_1_max_03.txt | AC | 90 ms | 8184 KiB |
| subtask_1_max_04.txt | AC | 89 ms | 8188 KiB |
| subtask_1_min_01.txt | AC | 1 ms | 3580 KiB |
| subtask_1_min_02.txt | AC | 1 ms | 3508 KiB |
| subtask_1_rand_01.txt | AC | 16 ms | 5596 KiB |
| subtask_1_rand_02.txt | AC | 8 ms | 4104 KiB |
| subtask_1_rand_03.txt | AC | 15 ms | 5060 KiB |
| subtask_1_rand_04.txt | AC | 21 ms | 4400 KiB |
| subtask_1_widemax_01.txt | AC | 91 ms | 8332 KiB |
| subtask_1_widemax_02.txt | AC | 90 ms | 8304 KiB |
| subtask_1_widemax_03.txt | AC | 90 ms | 8332 KiB |
| subtask_1_widemax_04.txt | AC | 90 ms | 8264 KiB |
| subtask_1_widemax_05.txt | AC | 90 ms | 8240 KiB |
| subtask_1_widemax_06.txt | AC | 91 ms | 8248 KiB |
| subtask_1_widemax_07.txt | AC | 91 ms | 8260 KiB |
| subtask_1_widemax_08.txt | AC | 89 ms | 8260 KiB |
| subtask_1_widemax_09.txt | AC | 90 ms | 8332 KiB |
| subtask_1_widemax_10.txt | AC | 90 ms | 8204 KiB |