Submission #497331

#TimeUsernameProblemLanguageResultExecution timeMemory
497331mansurMaxcomp (info1cup18_maxcomp)C++14
100 / 100
138 ms64320 KiB
#include<bits/stdc++.h> #pragma optimize ("g",on) #pragma GCC optimize ("inline") #pragma GCC optimize ("Ofast") #pragma GCC optimize ("unroll-loops") #pragma GCC optimize ("03") #pragma GCC target ("sse,sse2,sse3,ssse3,sse4,popcnt,abm,avx2,mmx,fma,avx,tune=native") #pragma comment(linker, "/stack:200000000") //01001101 01100001 01101011 01101000 01100001 01100111 01100001 01111001 using namespace std; #define all(a) a.begin(), a.end() #define rall(a) a.rbegin(), a.rend() #define ll long long #define pb push_back #define sz(a) a.size() #define nl '\n' #define popb pop_back() #define ld double #define ull unsigned long long #define ff first #define ss second #define fix fixed << setprecision #define pii pair<int, int> #define E exit (0) #define int long long const int inf = 1e15, N = 1e6 + 1, mod = 998244353; vector<pii> dir = {{1, 0}, {0, 1}, {-1, 0}, {0, -1}}; int val1[2000][2000], val2[2000][2000], val3[2000][2000], val4[2000][2000]; main() { //freopen("cowrect.in", "r", stdin); //freopen("cowrect.out", "w", stdout); ios_base::sync_with_stdio(NULL); cin.tie(NULL); int n, m; cin >> n >> m; int a[n + 1][m + 1], ans = 0; for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) cin >> a[i][j]; } for (int i = 0; i <= n + 1; i++) { for (int j = 0; j <= m + 1; j++) { val1[i][j] = inf; val3[i][j] = inf; } } for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) { val1[i][j] = min(val1[i - 1][j], val1[i][j - 1]); val1[i][j] = min(val1[i][j], a[i][j] - i - j); val2[i][j] = max(val2[i - 1][j], val2[i][j - 1]); val2[i][j] = max(val2[i][j], a[i][j] + i + j); } } for (int i = 1; i <= n; i++) { for (int j = m; j >= 1; j--) { val3[i][j] = min(val3[i - 1][j], val3[i][j + 1]); val3[i][j] = min(val3[i][j], a[i][j] - i + j); val4[i][j] = max(val4[i - 1][j], val4[i][j + 1]); val4[i][j] = max(val4[i][j], a[i][j] + i - j); } } for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) { ans = max(ans, a[i][j] - i - j - val1[i][j]); ans = max(ans, val2[i][j] - a[i][j] - i - j); ans = max(ans, a[i][j] - i + j - val3[i][j]); ans = max(ans, val4[i][j] - a[i][j] - i + j); } } cout << ans - 1; }

Compilation message (stderr)

maxcomp.cpp:3: warning: ignoring '#pragma optimize ' [-Wunknown-pragmas]
    3 | #pragma optimize ("g",on)
      | 
maxcomp.cpp:9: warning: ignoring '#pragma comment ' [-Wunknown-pragmas]
    9 | #pragma comment(linker, "/stack:200000000")
      | 
maxcomp.cpp:37:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   37 | main() {
      | ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...