답안 #866921

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
866921 2023-10-27T11:03:07 Z AtabayRajabli Maxcomp (info1cup18_maxcomp) C++17
0 / 100
1 ms 2396 KB
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
 
// author : AtabeyR
 
#define pb          push_back
#define pii         pair<int, int>
#define pll         pair<ll, ll>
#define all(v)      v.begin(), v.end()
#define OPT         ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define sec         second
#define fi          first
#define int         ll
#define print(k)    cerr << "Ans : "; cout << k << endl;
#define ins         insert
#define bpc         __builtin_popcountll
#define skip        continue
#define endll        '\n'
#define gcd(a, b)   __gcd(a, b)
#define lcm(a, b)   a*b / (__gcd(a, b))
 
typedef long long ll;
typedef unsigned long long ull;
const int oo = 0x3F3F3F3F;
const int ooo = 0x3F3F3F3F3F3F3F3FLL;
const int mod = 998244353;
const int sz = 1e3+5;
using namespace std;
using namespace __gnu_pbds;
template<class T> using ordered_set = tree<T, null_type,less<T>, rb_tree_tag,tree_order_statistics_node_update>;
 
void open(string s, string f)
{
    freopen((s + ".txt").c_str(), "r", stdin);
    freopen((f + ".txt").c_str(), "w", stdout);
}

int n, m, k, a[sz][sz], b[sz][sz];
 
void solve(int t)
{
    cin >> n >> m;

    for(int i = 1; i<=n; i++)
    {
        for(int j = 1; j<=m; j++)
        {
            cin >> a[i][j];
            b[i][j] = a[i][j];
        }
    }

    for(int i = 1; i<=n; i++)
    {
        for(int j = 1; j<=n; j++)
        {
            a[i][j] = max(a[i][j], a[i-1][j] - 1);
            a[i][j] = max(a[i][j], a[i][j-1] - 1);
        }
    }

    for(int i = n; i>=1; i--)
    {
        for(int j = n; j>=1; j--)
        {
            a[i][j] = max(a[i][j], a[i+1][j] - 1);
            a[i][j] = max(a[i][j], a[i][j+1] - 1);
        }
    }

    int ans = -ooo;
    for(int i = 1; i<=n; i++)
    {
        for(int j = 1; j<=n; j++)
        {
            ans = max(ans, a[i][j] - b[i][j]);
        }
    }

    cout << ans - 1;
}

 
int32_t main()
{
    // open("in", "out");
    
    OPT
    int t = 1;
    //cin >> t;
 
    for(int i = 1; i<=t; i++)
        solve(i);
}

Compilation message

maxcomp.cpp: In function 'void open(std::string, std::string)':
maxcomp.cpp:35:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   35 |     freopen((s + ".txt").c_str(), "r", stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
maxcomp.cpp:36:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   36 |     freopen((f + ".txt").c_str(), "w", stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 2396 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 2392 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 2396 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 2396 KB Output isn't correct
2 Halted 0 ms 0 KB -