Submission #1865004
Source Code Expand
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cctype>
#include <algorithm>
using namespace std;
#define rep(i, s, t) for(int i = (s); i <= (t); i++)
#define dwn(i, s, t) for(int i = (s); i >= (t); i--)
int read() {
int x = 0, f = 1; char c = getchar();
while(!isdigit(c)){ if(c == '-') f = -1; c = getchar(); }
while(isdigit(c)){ x = x * 10 + c - '0'; c = getchar(); }
return x * f;
}
#define maxn 5010
#define maxm 210
#define LL long long
int n, m, A[maxn], d[maxn][maxm], St[maxm][maxn], top[maxm];
LL add[maxn];
int main() {
n = read(); m = read();
rep(i, 1, n - 1) A[i] = read();
rep(i, 1, n) rep(j, 1, m) d[i][j] = read();
LL ans = 0;
dwn(l, n, 1) {
LL dis = 0, sum = 0;
rep(i, 1, m) {
while(top[i] && d[St[i][top[i]]][i] <= d[l][i]) {
if(top[i] > 1) add[St[i][top[i]-1]] -= d[St[i][top[i]-1]][i] - d[St[i][top[i]]][i];
top[i]--;
}
St[i][++top[i]] = l;
if(top[i] > 1) add[St[i][top[i]-1]] += d[St[i][top[i]-1]][i] - d[l][i];
sum += d[l][i];
}
rep(r, l, n) sum += add[r], ans = max(ans, sum - dis), dis += A[r];
}
printf("%lld\n", ans);
return 0;
}
Submission Info
Submission Time |
|
Task |
F - Yakiniku Restaurants |
User |
wzj52501 |
Language |
C++14 (GCC 5.4.1) |
Score |
1000 |
Code Size |
1198 Byte |
Status |
AC |
Exec Time |
112 ms |
Memory |
7040 KB |
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 |
2 ms |
2304 KB |
sample_02.txt |
AC |
2 ms |
2304 KB |
subtask_1_dense_max_01.txt |
AC |
112 ms |
6912 KB |
subtask_1_dense_max_02.txt |
AC |
112 ms |
6912 KB |
subtask_1_dense_max_03.txt |
AC |
112 ms |
6912 KB |
subtask_1_dense_max_04.txt |
AC |
112 ms |
6912 KB |
subtask_1_dense_rand_01.txt |
AC |
69 ms |
6912 KB |
subtask_1_dense_rand_02.txt |
AC |
76 ms |
6912 KB |
subtask_1_dense_rand_03.txt |
AC |
4 ms |
2432 KB |
subtask_1_dense_rand_04.txt |
AC |
17 ms |
2560 KB |
subtask_1_max_01.txt |
AC |
112 ms |
6912 KB |
subtask_1_max_02.txt |
AC |
112 ms |
6912 KB |
subtask_1_max_03.txt |
AC |
112 ms |
6912 KB |
subtask_1_max_04.txt |
AC |
112 ms |
6912 KB |
subtask_1_min_01.txt |
AC |
2 ms |
2304 KB |
subtask_1_min_02.txt |
AC |
1 ms |
2304 KB |
subtask_1_rand_01.txt |
AC |
18 ms |
4736 KB |
subtask_1_rand_02.txt |
AC |
10 ms |
2432 KB |
subtask_1_rand_03.txt |
AC |
20 ms |
4736 KB |
subtask_1_rand_04.txt |
AC |
30 ms |
4480 KB |
subtask_1_widemax_01.txt |
AC |
112 ms |
6912 KB |
subtask_1_widemax_02.txt |
AC |
112 ms |
6912 KB |
subtask_1_widemax_03.txt |
AC |
111 ms |
7040 KB |
subtask_1_widemax_04.txt |
AC |
112 ms |
6912 KB |
subtask_1_widemax_05.txt |
AC |
111 ms |
6912 KB |
subtask_1_widemax_06.txt |
AC |
112 ms |
6912 KB |
subtask_1_widemax_07.txt |
AC |
111 ms |
6912 KB |
subtask_1_widemax_08.txt |
AC |
112 ms |
6912 KB |
subtask_1_widemax_09.txt |
AC |
111 ms |
6912 KB |
subtask_1_widemax_10.txt |
AC |
112 ms |
6912 KB |