maxcomp.cpp: In function 'void LeftRight(std::vector<std::vector<int> >&)':
maxcomp.cpp:2:33: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
#define FI(_n) for(int i = 0; i < _n; ++i)
~~^~~~~~~~~~~
#define FJ(_n) for(int j = 0; j < _n; ++j)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#define mp make_pair
~~~~~~~~~~~~~~~~~~~~~
#define pb push_back
~~~~~~~~~~~~~~~~~~~~~
#define endl '\n'
~~~~~~~~~~~~~~~~~~
~
#ifdef LOCAL
~~~~~~~~~~~~~
#define dbg(...) fprintf(stderr, __VA_ARGS__)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#else
~~~~~~
#define LOCAL 0
~~~~~~~~~~~~~~~~
#define dbg(...)
~~~~~~~~~~~~~~~~~
#endif
~~~~~~~
#define cerr if (!LOCAL) {} else std::cerr
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~
using ll = long long;
~~~~~~~~~~~~~~~~~~~~~~
using ull = unsigned long long;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
using ld = long double;
~~~~~~~~~~~~~~~~~~~~~~~~
using namespace std;
~~~~~~~~~~~~~~~~~~~~~
~
int Get(vector<vector<int>> a)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{
~~
int n = a.size();
~~~~~~~~~~~~~~~~~~
int m = a.back().size();
~~~~~~~~~~~~~~~~~~~~~~~~~
~
/// minimizing min - x - y
~~~~~~~~~~~~~~~~~~~~~~~~~~~
int best = -1;
~~~~~~~~~~~~~~~
FI(n)
~~~~~~
{
~~
FJ(m)
~~~~~~
{
~~
int mn = min(a[i][j] - i - j, min(i ? a[i - 1][j] : INT_MAX, j ? a[i][j - 1] : INT_MAX));
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
best = max(best, a[i][j] - i - j - mn - 1);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
a[i][j] = mn;
~~~~~~~~~~~~~~
}
~~
}
~~
~
return best;
~~~~~~~~~~~~~
}
~~
~
void LeftRight(vector<vector<int>>& a)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{
~~
FI(a.size())
~~~~~~~~~~~
maxcomp.cpp:43:5: note: in expansion of macro 'FI'
FI(a.size())
^~