提出 #18395415


ソースコード 拡げる

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

int calc_area(int i, int j, int k, int l, int64_t cumsum[126][126],
        int64_t K, int64_t V)
{
    int64_t v1 = cumsum[j + 1][l + 1];
    v1 -= cumsum[j + 1][k] + cumsum[i][l + 1];
    v1 += cumsum[i][k];
    int area = (j - i + 1) * (l - k + 1);
    int64_t v2 = v1 + K * area;
    if (v2 <= V)
        return area;
    else
        return -1;
}

int main()
{
    int64_t A_grid[125][125] = {0};
    int64_t cumsum[126][126] = {0};
    int H, W;
    int64_t K, V;
    cin >> H >> W >> K >> V;
    for (int i = 0; i < H; ++i) {
        for (int j = 0; j < W; ++j)
            cin >> A_grid[i][j];
    }
    for (int i = 0; i < H; ++i) {
        for (int j = 0; j < W; ++j) {
            int64_t tmp = A_grid[i][j];
            tmp += cumsum[i + 1][j] + cumsum[i][j + 1];
            tmp -= cumsum[i][j];
            cumsum[i + 1][j + 1] = tmp;
        }
    }
    int64_t max_area = 0;
    for (int i = 0; i < H; ++i) {
        for (int j = i; j < H; ++j) {
            for (int k = 0; k < W; ++k) {
                for (int l = k; l < W; ++l) {
                    int area = calc_area(i, j, k, l, cumsum, K, V);
                    if (max_area < area)
                        max_area = area;
                }
            }
        }
    }
    cout << max_area << endl;
}

提出情報

提出日時
問題 D - 家の建設
ユーザ atug
言語 C++ (GCC 9.2.1)
得点 100
コード長 1328 Byte
結果 AC
実行時間 133 ms
メモリ 3828 KiB

ジャッジ結果

セット名 Sample Subtask1 Subtask2 Subtask3 Subtask4 Subtask5
得点 / 配点 0 / 0 11 / 11 17 / 17 28 / 28 27 / 27 17 / 17
結果
AC × 4
AC × 4
AC × 9
AC × 18
AC × 25
AC × 32
セット名 テストケース
Sample sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt
Subtask1 sample_01.txt, sub1_in01.txt, sub1_in02.txt, sub1_in03.txt
Subtask2 sample_01.txt, sample_02.txt, sub1_in01.txt, sub1_in02.txt, sub1_in03.txt, sub2_in01.txt, sub2_in02.txt, sub2_in03.txt, sub2_in04.txt
Subtask3 sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, sub1_in01.txt, sub1_in02.txt, sub1_in03.txt, sub2_in01.txt, sub2_in02.txt, sub2_in03.txt, sub2_in04.txt, sub3_in01.txt, sub3_in02.txt, sub3_in03.txt, sub3_in04.txt, sub3_in05.txt, sub3_in06.txt, sub3_in07.txt
Subtask4 sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, sub1_in01.txt, sub1_in02.txt, sub1_in03.txt, sub2_in01.txt, sub2_in02.txt, sub2_in03.txt, sub2_in04.txt, sub3_in01.txt, sub3_in02.txt, sub3_in03.txt, sub3_in04.txt, sub3_in05.txt, sub3_in06.txt, sub3_in07.txt, sub4_in01.txt, sub4_in02.txt, sub4_in03.txt, sub4_in04.txt, sub4_in05.txt, sub4_in06.txt, sub4_in07.txt
Subtask5 sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, sub1_in01.txt, sub1_in02.txt, sub1_in03.txt, sub2_in01.txt, sub2_in02.txt, sub2_in03.txt, sub2_in04.txt, sub3_in01.txt, sub3_in02.txt, sub3_in03.txt, sub3_in04.txt, sub3_in05.txt, sub3_in06.txt, sub3_in07.txt, sub4_in01.txt, sub4_in02.txt, sub4_in03.txt, sub4_in04.txt, sub4_in05.txt, sub4_in06.txt, sub4_in07.txt, sub5_in01.txt, sub5_in02.txt, sub5_in03.txt, sub5_in04.txt, sub5_in05.txt, sub5_in06.txt, sub5_in07.txt
ケース名 結果 実行時間 メモリ
sample_01.txt AC 6 ms 3724 KiB
sample_02.txt AC 3 ms 3760 KiB
sample_03.txt AC 2 ms 3716 KiB
sample_04.txt AC 2 ms 3828 KiB
sub1_in01.txt AC 2 ms 3792 KiB
sub1_in02.txt AC 2 ms 3604 KiB
sub1_in03.txt AC 2 ms 3796 KiB
sub2_in01.txt AC 2 ms 3752 KiB
sub2_in02.txt AC 2 ms 3720 KiB
sub2_in03.txt AC 2 ms 3660 KiB
sub2_in04.txt AC 2 ms 3788 KiB
sub3_in01.txt AC 2 ms 3824 KiB
sub3_in02.txt AC 2 ms 3608 KiB
sub3_in03.txt AC 2 ms 3796 KiB
sub3_in04.txt AC 2 ms 3784 KiB
sub3_in05.txt AC 2 ms 3652 KiB
sub3_in06.txt AC 2 ms 3812 KiB
sub3_in07.txt AC 2 ms 3808 KiB
sub4_in01.txt AC 30 ms 3656 KiB
sub4_in02.txt AC 31 ms 3812 KiB
sub4_in03.txt AC 26 ms 3716 KiB
sub4_in04.txt AC 32 ms 3644 KiB
sub4_in05.txt AC 27 ms 3828 KiB
sub4_in06.txt AC 24 ms 3760 KiB
sub4_in07.txt AC 31 ms 3824 KiB
sub5_in01.txt AC 133 ms 3664 KiB
sub5_in02.txt AC 130 ms 3828 KiB
sub5_in03.txt AC 132 ms 3648 KiB
sub5_in04.txt AC 131 ms 3780 KiB
sub5_in05.txt AC 131 ms 3816 KiB
sub5_in06.txt AC 132 ms 3608 KiB
sub5_in07.txt AC 133 ms 3608 KiB