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 |
|
|
|
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 |