Submission #197225

#TimeUsernameProblemLanguageResultExecution timeMemory
197225_TimeLord_Maxcomp (info1cup18_maxcomp)C++14
60 / 100
609 ms4348 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 main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    int n, m;
    cin >> n >> m;
    vector<vector<int> > a(n, vector<int>(m));
    for(int i = 0; i < n; i++){
        for(int j = 0; j < m; j++)
            cin >> a[i][j];
    }
    ll time = 0;
    int ans = -1e9;
    auto st = steady_clock().now();
    while(1){
        int x = rnd(); x = abs(x); x %= n;
        int y = rnd(); y = abs(y); y %= m;
        int p1 = a[x][y];
      //  cout << x << " " << y << "\n";
        for(int i = 0; i < n; i++)
            for(int j = 0; j < m; j++){
                int p2 = a[i][j];
                ans = max(ans, max(p1, p2) - min(p1, p2) - abs(i - x) - abs(y - j) - 1);
            }

        auto en = steady_clock().now();
        time = duration_cast<milliseconds>(en - st).count();
       // cout << time << "\n";
        if(time >= 489)
            break;
    }
    cout << ans;

}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...