답안 #170414

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
170414 2019-12-25T06:27:05 Z davitmarg Bomb (IZhO17_bomb) C++17
35 / 100
562 ms 51548 KB
/*DavitMarg*/
#include <iostream>
#include <algorithm>
#include <cmath>
#include <vector>
#include <string>
#include <cstring>
#include <map>
#include <unordered_map>
#include <set>
#include <queue>
#include <iomanip>
#include <bitset>
#include <stack>
#include <cassert>
#include <iterator>
#include <fstream>
#define mod 1000000007ll
#define LL long long
#define LD long double
#define MP make_pair
#define PB push_back
#define all(v) v.begin(), v.end()
using namespace std;

const int N = 2505;

int n, m, a[N][N], nxt[N][N], d[N], Y, X, ans;

int main()
{
    cin >> n >> m;

    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= m; j++)
        {
            char x;
            scanf(" %c", &x);
            a[i][j] += (x - '0');
        }
    X = m;
    Y = n;
    for (int i = 1; i <= n; i++)
        for (int j = m; j >= 1; j--)
        {
            if (a[i][j])
                nxt[i][j] = nxt[i][j + 1] + 1;
            else
                nxt[i][j] = 0;
            if (a[i][j - 1] == 0 && a[i][j])
                X = min(X, nxt[i][j]);
        }
    for (int j = 1; j <= m; j++)
    {
        int y = 0;
        for (int i = 1; i <= n; i++)
        {
            if (a[i][j])
                y++;
            else
                y = 0;
            if (a[i][j] && a[i + 1][j] == 0)
                Y = min(y, Y);
        }
    }

    for (int i = 1; i <= n; i++)
        d[i] = X;
    for (int j = 1; j <= m; j++)
    {
        int y = 0, x = X;
        for (int i = 1; i <= n; i++)
        {
            if (a[i][j] == 0 || (a[i][j - 1] == 1 && y == 0))
            {
                y = 0;
                x = X;
            }
            else
            {
                y++;
                x = min(x, nxt[i][j]);
                d[y] = min(x, d[y]);
            }
            if (y == Y)
            {
                y = 0;
                x = X;
            }
            //cout << i << " : " << j << " = " << y << " : " << x << endl;
        }
    }
    for (int i = 1; i <= Y; i++)
        ans = max(ans, i * d[i]);

    cout << ans << endl;
    return 0;
}

/*

8 8
00000000
01111100
01111100
01111100
01101100
01111100
01111100
00000000
 
6 6
000111
000111
001111
111100
111000
111000
 
*/

Compilation message

bomb.cpp: In function 'int main()':
bomb.cpp:38:18: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
             scanf(" %c", &x);
             ~~~~~^~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 504 KB Output is correct
3 Correct 21 ms 20344 KB Output is correct
4 Correct 22 ms 20372 KB Output is correct
5 Correct 2 ms 380 KB Output is correct
6 Correct 2 ms 376 KB Output is correct
7 Correct 2 ms 376 KB Output is correct
8 Incorrect 2 ms 504 KB Output isn't correct
9 Incorrect 2 ms 504 KB Output isn't correct
10 Correct 2 ms 376 KB Output is correct
11 Incorrect 2 ms 504 KB Output isn't correct
12 Incorrect 2 ms 504 KB Output isn't correct
13 Correct 2 ms 504 KB Output is correct
14 Correct 2 ms 380 KB Output is correct
15 Incorrect 2 ms 504 KB Output isn't correct
16 Correct 2 ms 500 KB Output is correct
17 Incorrect 2 ms 888 KB Output isn't correct
18 Correct 2 ms 888 KB Output is correct
19 Incorrect 3 ms 1144 KB Output isn't correct
20 Incorrect 3 ms 1144 KB Output isn't correct
21 Correct 3 ms 760 KB Output is correct
22 Correct 3 ms 1016 KB Output is correct
23 Incorrect 3 ms 1144 KB Output isn't correct
24 Incorrect 3 ms 1016 KB Output isn't correct
25 Incorrect 3 ms 1272 KB Output isn't correct
26 Correct 4 ms 1144 KB Output is correct
27 Correct 10 ms 3448 KB Output is correct
28 Incorrect 11 ms 3576 KB Output isn't correct
29 Incorrect 14 ms 4648 KB Output isn't correct
30 Incorrect 18 ms 5496 KB Output isn't correct
31 Incorrect 14 ms 4344 KB Output isn't correct
32 Incorrect 16 ms 4984 KB Output isn't correct
33 Incorrect 19 ms 5880 KB Output isn't correct
34 Incorrect 10 ms 3960 KB Output isn't correct
35 Incorrect 19 ms 5756 KB Output isn't correct
36 Correct 20 ms 5752 KB Output is correct
37 Incorrect 2 ms 504 KB Output isn't correct
38 Correct 538 ms 51292 KB Output is correct
39 Incorrect 2 ms 504 KB Output isn't correct
40 Incorrect 67 ms 14200 KB Output isn't correct
41 Correct 2 ms 504 KB Output is correct
42 Correct 4 ms 1144 KB Output is correct
43 Correct 562 ms 51420 KB Output is correct
44 Correct 20 ms 5752 KB Output is correct
45 Incorrect 534 ms 51304 KB Output isn't correct
46 Correct 523 ms 51548 KB Output is correct
47 Incorrect 536 ms 51448 KB Output isn't correct
48 Incorrect 519 ms 51236 KB Output isn't correct
49 Correct 539 ms 51380 KB Output is correct
50 Incorrect 518 ms 51320 KB Output isn't correct
51 Incorrect 524 ms 51236 KB Output isn't correct
52 Incorrect 521 ms 51284 KB Output isn't correct
53 Incorrect 521 ms 51320 KB Output isn't correct
54 Correct 514 ms 51308 KB Output is correct
55 Incorrect 512 ms 51136 KB Output isn't correct
56 Correct 533 ms 51136 KB Output is correct
57 Incorrect 514 ms 50936 KB Output isn't correct
58 Correct 512 ms 50996 KB Output is correct
59 Correct 509 ms 50940 KB Output is correct
60 Correct 521 ms 50860 KB Output is correct
61 Correct 542 ms 51136 KB Output is correct
62 Correct 538 ms 51064 KB Output is correct
63 Correct 540 ms 51068 KB Output is correct
64 Correct 513 ms 51188 KB Output is correct
65 Correct 520 ms 50792 KB Output is correct
66 Incorrect 518 ms 50796 KB Output isn't correct
67 Incorrect 522 ms 50936 KB Output isn't correct
68 Incorrect 528 ms 50780 KB Output isn't correct
69 Correct 509 ms 50868 KB Output is correct
70 Incorrect 321 ms 41084 KB Output isn't correct
71 Incorrect 510 ms 50836 KB Output isn't correct
72 Incorrect 540 ms 50588 KB Output isn't correct
73 Incorrect 513 ms 50532 KB Output isn't correct
74 Incorrect 521 ms 50680 KB Output isn't correct
75 Incorrect 508 ms 50680 KB Output isn't correct
76 Incorrect 507 ms 50808 KB Output isn't correct
77 Incorrect 514 ms 50652 KB Output isn't correct
78 Incorrect 515 ms 50468 KB Output isn't correct
79 Incorrect 499 ms 50680 KB Output isn't correct
80 Incorrect 500 ms 50552 KB Output isn't correct
81 Incorrect 514 ms 50424 KB Output isn't correct
82 Incorrect 510 ms 50404 KB Output isn't correct
83 Incorrect 515 ms 50388 KB Output isn't correct
84 Incorrect 498 ms 50552 KB Output isn't correct
85 Incorrect 515 ms 50168 KB Output isn't correct
86 Incorrect 548 ms 50204 KB Output isn't correct
87 Incorrect 510 ms 50072 KB Output isn't correct
88 Incorrect 514 ms 50308 KB Output isn't correct
89 Incorrect 520 ms 50128 KB Output isn't correct
90 Incorrect 324 ms 40440 KB Output isn't correct
91 Incorrect 517 ms 50212 KB Output isn't correct
92 Incorrect 517 ms 50336 KB Output isn't correct
93 Incorrect 534 ms 49988 KB Output isn't correct
94 Incorrect 516 ms 49984 KB Output isn't correct
95 Incorrect 510 ms 49836 KB Output isn't correct
96 Incorrect 511 ms 49836 KB Output isn't correct
97 Incorrect 532 ms 50004 KB Output isn't correct
98 Incorrect 512 ms 50008 KB Output isn't correct
99 Incorrect 517 ms 49756 KB Output isn't correct
100 Incorrect 560 ms 49740 KB Output isn't correct