Advertisement
CooBin

car

Jul 17th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.16 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. #define FILE "car"
  3. #define sqr(x) ((x) * (x))
  4. using namespace std;
  5.  
  6. typedef long long ll;
  7.  
  8. const ll N = 1000 + 10;
  9.  
  10. void read(ll &x){
  11.     char c;
  12.     do { c = getchar(); } while (!isalnum(c));
  13.     x = c - '0';
  14.     while (isalnum(c = getchar())) x = x * 10 + c - '0';
  15. }
  16.  
  17. ll n, m;
  18. ll c[N][N];
  19. ll sum, SUM;
  20. ll sumX, sumY;
  21.  
  22. void solve(){
  23.     for (ll i = 1; i <= n; i++)
  24.     for (ll j = 1; j <= m; j++){
  25.         ll xi = i * 4 - 2, xj = j * 4 - 2;
  26.         sum += c[i][j],
  27.         SUM += c[i][j] * (xi * xi + xj * xj);
  28.         sumX += c[i][j] * xi;
  29.         sumY += c[i][j] * xj;
  30.     }
  31.  
  32.     ll ans = -1;
  33.     pair<ll, ll > bmatch = {-1, -1};
  34.     for (ll i = 0; i <= n; i++)
  35.         for (ll j = 0; j <= m; j++)
  36.         {
  37.             ll xi = 4 * i, xj = 4 * j;
  38.             ll tmp = 0;
  39.             tmp = SUM + sum * (xi * xi + xj * xj);
  40.             tmp -= 2 * sumX * xi;
  41.             tmp -= 2 * sumY * xj;
  42.             if (ans > tmp || ans == -1) ans = tmp, bmatch = {i, j};
  43.         }
  44.  
  45.     cout << ans << '\n';
  46.     cout << bmatch.first << ' ' << bmatch.second << '\n';
  47. }
  48.  
  49. main(){
  50.     freopen(FILE".inp", "r", stdin);
  51.     freopen(FILE".out", "w", stdout);
  52.     read(n); read(m);
  53.     for (ll i = 1; i <= n; i++)
  54.         for (ll j = 1; j <= m; j++)
  55.             read(c[i][j]);
  56.     solve();
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement