Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- #define FILE "car"
- #define sqr(x) ((x) * (x))
- using namespace std;
- typedef long long ll;
- const ll N = 1000 + 10;
- void read(ll &x){
- char c;
- do { c = getchar(); } while (!isalnum(c));
- x = c - '0';
- while (isalnum(c = getchar())) x = x * 10 + c - '0';
- }
- ll n, m;
- ll c[N][N];
- ll sum, SUM;
- ll sumX, sumY;
- void solve(){
- for (ll i = 1; i <= n; i++)
- for (ll j = 1; j <= m; j++){
- ll xi = i * 4 - 2, xj = j * 4 - 2;
- sum += c[i][j],
- SUM += c[i][j] * (xi * xi + xj * xj);
- sumX += c[i][j] * xi;
- sumY += c[i][j] * xj;
- }
- ll ans = -1;
- pair<ll, ll > bmatch = {-1, -1};
- for (ll i = 0; i <= n; i++)
- for (ll j = 0; j <= m; j++)
- {
- ll xi = 4 * i, xj = 4 * j;
- ll tmp = 0;
- tmp = SUM + sum * (xi * xi + xj * xj);
- tmp -= 2 * sumX * xi;
- tmp -= 2 * sumY * xj;
- if (ans > tmp || ans == -1) ans = tmp, bmatch = {i, j};
- }
- cout << ans << '\n';
- cout << bmatch.first << ' ' << bmatch.second << '\n';
- }
- main(){
- freopen(FILE".inp", "r", stdin);
- freopen(FILE".out", "w", stdout);
- read(n); read(m);
- for (ll i = 1; i <= n; i++)
- for (ll j = 1; j <= m; j++)
- read(c[i][j]);
- solve();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement