제출 #197256

#제출 시각아이디문제언어결과실행 시간메모리
197256_TimeLord_Maxcomp (info1cup18_maxcomp)C++14
0 / 100
1075 ms376 KiB
#include <bits/stdc++.h> using namespace std; using namespace chrono; #pragma GCC optimize("Ofast") #pragma GCC target("tune=native") #pragma GCC optimize("unroll-loops") typedef long long ll; typedef long double ld; #define fs first #define sc second #define all(x) x.begin(), x.end() #define rall(x) x.rbegin(), x.rend() #define pii pair<int, int> #define pll pair<ll, ll> #define pb push_back #define maxn 200000 #define BIG 1000000000000000000 mt19937 rnd(42); int a[1000][1000], b[1000][1000]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); int n, m; cin >> n >> m; auto st = steady_clock().now(); for(int i = 0; i < n; i++){ for(int j = 0; j < m; j++) cin >> a[i][j]; } int ans = -1e9, bx, by; auto en = steady_clock().now(); while(ll(duration_cast<milliseconds>(en - st).count()) < 480){ bx = abs(int(rnd()))%n; by = abs(int(rnd()))%m; while(b[bx][by] == 1){ bx = abs(int(rnd()))%n; by = abs(int(rnd()))%m; } while(1){ int x = -1, y; for(int i = 0; i < n; i++) for(int j = 0; j < m; j++){ int p = max(a[bx][by], a[i][j]) - min(a[bx][by], a[i][j]) - 1 - abs(i - bx) - abs(by - j); if(p > ans){ x = i; y = j; } ans = max(ans, p); } b[bx][by] = 1; if(x == -1){ en = steady_clock().now(); break; } b[bx][by] = 1; bx = x; by = y; } } cout << ans; } /* 2 3 3 4 2 5 7 5 */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...