Submission #1891426


Source Code Expand

#include "bits/stdc++.h"
using namespace std;

#define DEBUG(x) cout<<#x<<": "<<x<<endl;
#define DEBUG_VEC(v) cout<<#v<<":";for(int i=0;i<v.size();i++) cout<<" "<<v[i]; cout<<endl

typedef long long ll;
#define vi vector<int>
#define vl vector<ll>
#define vii vector< vector<int> >
#define vll vector< vector<ll> >
#define vs vector<string>
#define pii pair<int,int>
#define pis pair<int,string>
#define psi pair<string,int>
#define pll pair<ll,ll>
const int inf = 1000000001;
const ll INF = 2e18 * 2;
#define MOD 1000000007
#define mod 1000000009
#define pi 3.14159265358979323846
#define Sp(p) cout<<setprecision(15)<< fixed<<p<<endl;
int dx[4] = { 1,0,-1,0 }, dy[4] = { 0,1,0,-1 };
int dx2[8] = { 1,1,0,-1,-1,-1,0,1 }, dy2[8] = { 0,1,1,1,0,-1,-1,-1 };

int solve(int h, int w, vll b) {
	int i, j;
	vll sum1(h, vl(w + 1));
	for (i = 0; i < h; i++) {
		for (j = 0; j < w; j++) {
			sum1[i][j + 1] = sum1[i][j] + b[i][j];
		}
	}
	vl left(w + 1, -INF), right(w + 1, -INF); //left[i]:右端がiの時のmax, right[i]: 左端がiの時のmax
	for (i = 0; i < w; i++) {
		ll res1 = -INF;
		for (j = i + 1; j <= w; j++) {
			vl sum2(h + 1);
			for (int k = 0; k < h; k++) {
				sum2[k + 1] = sum2[k] + (sum1[k][j] - sum1[k][i]);
			}
			ll M = -INF;
			ll res2 = -INF;
			for (int k = h; k > 0; k--) {
				M = max(M, sum2[k]);
				res2 = max(res2, M - sum2[k - 1]);
			}
			left[j] = max(left[j], res2);
			res1 = max(res1, res2);
		}
		right[i] = res1;
	}
	vl left2(w + 1), right2(w + 1);
	ll M = -INF;
	for (i = 1; i <= w; i++) {
		M = max(M, left[i]);
		left2[i] = M;
	}
	M = -inf;
	for (i = w - 1; i >= 0; i--) {
		M = max(M, right[i]);
		right2[i] = M;
	}
	ll res = -INF;
	for (i = 1; i < w; i++) {
		res = max(res, left2[i] + right2[i]);
	}
	return res;
}


int main() {
	int h, w, i, j;
	cin >> h >> w;
	vll b(h, vl(w));
	for (i = 0; i < h; i++) {
		for (j = 0; j < w; j++) {
			cin >> b[i][j];
		}
	}
	ll ans1 = solve(h, w, b);
	vll b2(w, vl(h));
	for (i = 0; i < h; i++) {
		for (j = 0; j < w; j++) {
			b2[j][i] = b[i][j];
		}
	}
	ll ans2 = solve(w, h, b2);
	cout << max(ans1, ans2) << endl;
}

Submission Info

Submission Time
Task D - 庭園
User fuppy0716
Language C++14 (GCC 5.4.1)
Score 0
Code Size 2189 Byte
Status WA
Exec Time 131 ms
Memory 2828 KB

Judge Result

Set Name Sample Subtask1 All
Score / Max Score 0 / 0 0 / 50 0 / 50
Status
AC × 4
AC × 3
WA × 12
AC × 10
WA × 24
Set Name Test Cases
Sample sample0.txt, sample1.txt, sample2.txt, sample3.txt
Subtask1 subtask0_0.txt, subtask0_1.txt, subtask0_10.txt, subtask0_11.txt, subtask0_12.txt, subtask0_13.txt, subtask0_14.txt, subtask0_2.txt, subtask0_3.txt, subtask0_4.txt, subtask0_5.txt, subtask0_6.txt, subtask0_7.txt, subtask0_8.txt, subtask0_9.txt
All sample0.txt, sample1.txt, sample2.txt, sample3.txt, subtask0_0.txt, subtask0_1.txt, subtask0_10.txt, subtask0_11.txt, subtask0_12.txt, subtask0_13.txt, subtask0_14.txt, subtask0_2.txt, subtask0_3.txt, subtask0_4.txt, subtask0_5.txt, subtask0_6.txt, subtask0_7.txt, subtask0_8.txt, subtask0_9.txt, subtask1_0.txt, subtask1_1.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_2.txt, subtask1_3.txt, subtask1_4.txt, subtask1_5.txt, subtask1_6.txt, subtask1_7.txt, subtask1_8.txt, subtask1_9.txt
Case Name Status Exec Time Memory
sample0.txt AC 1 ms 256 KB
sample1.txt AC 1 ms 256 KB
sample2.txt AC 1 ms 256 KB
sample3.txt AC 1 ms 256 KB
subtask0_0.txt WA 2 ms 256 KB
subtask0_1.txt WA 2 ms 384 KB
subtask0_10.txt WA 3 ms 384 KB
subtask0_11.txt WA 2 ms 256 KB
subtask0_12.txt WA 3 ms 384 KB
subtask0_13.txt WA 2 ms 256 KB
subtask0_14.txt AC 2 ms 256 KB
subtask0_2.txt WA 2 ms 256 KB
subtask0_3.txt WA 2 ms 256 KB
subtask0_4.txt AC 2 ms 384 KB
subtask0_5.txt WA 3 ms 384 KB
subtask0_6.txt WA 3 ms 384 KB
subtask0_7.txt WA 3 ms 256 KB
subtask0_8.txt WA 2 ms 256 KB
subtask0_9.txt AC 2 ms 384 KB
subtask1_0.txt WA 101 ms 2364 KB
subtask1_1.txt WA 131 ms 2640 KB
subtask1_10.txt WA 95 ms 2276 KB
subtask1_11.txt WA 125 ms 2828 KB
subtask1_12.txt WA 108 ms 2572 KB
subtask1_13.txt WA 121 ms 2796 KB
subtask1_14.txt AC 90 ms 2460 KB
subtask1_2.txt WA 123 ms 2712 KB
subtask1_3.txt WA 96 ms 2484 KB
subtask1_4.txt AC 95 ms 2552 KB
subtask1_5.txt WA 121 ms 2716 KB
subtask1_6.txt WA 114 ms 2652 KB
subtask1_7.txt WA 109 ms 2568 KB
subtask1_8.txt WA 122 ms 2792 KB
subtask1_9.txt AC 97 ms 2544 KB