Submission #616771


Source Code Expand

#include "bits/stdc++.h"
#include<unordered_map>
#pragma warning(disable:4996)
using namespace std;

const int My_Inf=2147483647;
const long long int My_LInf=9223372036854775807;
vector<long long int> divisor(long long int n) {
	vector<long long int> res;
	for (long long int i = 1; i * i <= n; ++i) {
		if (n % i == 0) {
			res.push_back(i);
			if (i * i != n) res.push_back(n / i);
		}
	}
	sort(begin(res), end(res));
	return res;
}
struct edge {
	int from;
	int to;
	int cost;
};
long long  int dp[51][51][51][51];
vector<vector<long long int>> widthmax(51, vector<long long int>(51,-9999999999999999));
vector<vector<long long int >> heightmax(51,vector<long long int>(51, - 9999999999999999));
int main() {
	memset(dp, 0, sizeof(dp));
	/*
	int N; cin >> N;
	vector<int>nums;
	nums.push_back(My_Inf);
	for (int i = 0; i < N - 1; ++i) {
		int a; cin >> a;
		nums.push_back(a);
	}
	nums.push_back(My_Inf);
	for (int i = 0; i < N; ++i) {
		cout << min(nums[i], nums[i + 1]);
		if (i != N - 1)cout << " ";
	}
	cout << endl;
	return 0;
	int N, M, S, D; cin >> N >> M >> S >> D;
	for (int i = 0; i < M; ++i) {
		int L; cin >> L;
		vector<int>ss;
		for (int i = 0; i < L; ++i) {
			int s; cin >> s;
			ss.push_back(s);
		}
		vector<int>ws;
		vector<edge>edges;
		for (int i = 0; i < L - 1; ++i) {
			int w; cin >> w;
			ws.push_back(w);
		}
		for (int i = 0; i < L - 1; ++i) {
			edges.push_back(edge{ss[i],ss[i+1]})
		}
	}*/
	int H, W; cin >> H >> W;
	vector<vector<long long int>>field(H,vector<long long int>(W));
	for (int i = 0; i < H; ++i) {
		for (int j = 0; j < W; ++j) {
			int a; cin >> a;
			field[i][j] = a;
		}
	}
	vector<vector<long long int>>sums(H+1, vector<long long int>(W+1));
	for (int i = 0; i < H; ++i) {
		for (int j = 0; j < W; ++j) {
			sums[i + 1][j + 1] = sums[i + 1][j] + sums[i][j + 1] - sums[i][j] + field[i][j];
		}
	}
	for (int l = 0; l <= W; ++l) {
		for (int r = l+1; r <= W; ++r) {
			for (int u = 0; u <= H; ++u) {
				for (int d = u+1; d <= H; ++d) {
					dp[l][r][u][d] = sums[d][r] - sums[u][r] - sums[d][l] + sums[u][l];
				}
			}
		}
	}
	for (int a = 1; a <= W; ++a) {
		for (int w = 0; w <= W-a; ++w) {
			if (a != 1) {
				widthmax[w][w + a] = max(widthmax[w][w + a - 1], widthmax[w + 1][w + a]);
			}
			for (int u = 0; u <= H; ++u) {
				for (int d = u+1; d <= H; ++d) {
					widthmax[w][w + a] = max(widthmax[w][w + a], dp[w][w + a][u][d]);
				}
			}
		}
	}
	
	for (int a = 1; a <= H; ++a) {
		for (int w = 0; w <= H - a; ++w) {
			if (a != 1) {
				heightmax[w][w + a] = max(heightmax[w][w + a - 1], heightmax[w + 1][w + a]);
			}
			for (int u = 0; u <= W; ++u) {
				for (int d = u+1; d <= W; ++d) {
					heightmax[w][w + a] = max(heightmax[w][w + a], dp[u][d][w][w + a]);
				}
			}
		}
	}
	long long int ans = -9999999999999999;
	for (int L = 1; L < W; ++L) {
		long long int nans = 0;
		nans += widthmax[0][L]+widthmax[L][W];
		ans = max(ans, nans);
	}
	for (int L = 1; L < H; ++L) {
		long long int nans = 0;
		nans += heightmax[0][L] + heightmax[L][H];
		ans = max(ans, nans);
	}
	cout << ans << endl;
	return 0;
}

Submission Info

Submission Time
Task D - 庭園
User yuma000
Language C++11 (GCC 4.9.2)
Score 50
Code Size 3189 Byte
Status RE
Exec Time 2249 ms
Memory 54952 KB

Judge Result

Set Name Sample Subtask1 All
Score / Max Score 0 / 0 50 / 50 0 / 50
Status
AC × 4
AC × 15
AC × 15
RE × 15
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 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 139 ms 53596 KB
sample1.txt AC 126 ms 53656 KB
sample2.txt AC 125 ms 53660 KB
sample3.txt AC 137 ms 53660 KB
subtask0_0.txt AC 162 ms 53668 KB
subtask0_1.txt AC 160 ms 53672 KB
subtask0_10.txt AC 167 ms 53668 KB
subtask0_11.txt AC 159 ms 53656 KB
subtask0_12.txt AC 165 ms 53668 KB
subtask0_13.txt AC 159 ms 53668 KB
subtask0_14.txt AC 161 ms 53668 KB
subtask0_2.txt AC 153 ms 53672 KB
subtask0_3.txt AC 162 ms 53668 KB
subtask0_4.txt AC 165 ms 53668 KB
subtask0_5.txt AC 163 ms 53672 KB
subtask0_6.txt AC 162 ms 53664 KB
subtask0_7.txt AC 163 ms 53656 KB
subtask0_8.txt AC 146 ms 53664 KB
subtask0_9.txt AC 163 ms 53668 KB
subtask1_0.txt RE 1742 ms 54696 KB
subtask1_1.txt RE 1716 ms 54820 KB
subtask1_10.txt RE 1581 ms 54680 KB
subtask1_11.txt RE 1925 ms 54952 KB
subtask1_12.txt RE 1711 ms 54812 KB
subtask1_13.txt RE 2008 ms 54948 KB
subtask1_14.txt RE 1782 ms 54812 KB
subtask1_2.txt RE 2249 ms 54948 KB
subtask1_3.txt RE 1635 ms 54692 KB
subtask1_4.txt RE 1685 ms 54816 KB
subtask1_5.txt RE 2217 ms 54948 KB
subtask1_6.txt RE 1862 ms 54816 KB
subtask1_7.txt RE 1734 ms 54824 KB
subtask1_8.txt RE 2083 ms 54944 KB
subtask1_9.txt RE 1679 ms 54812 KB