Submission

Status:

----------

Subtask/Task Score:

0/100

Score: 0

User: navysrimuang

Problemset: บริษัททำความสะอาด

Language: cpp

Time: 0.002 second

Submitted On: 2025-09-28 23:31:08

#include<bits/stdc++.h>
#define endl '\n'
using namespace std;

int main(){
  int n; cin >> n;
  vector<vector<int>> arr(n,vector<int>(n,0));
    
    for(int i = 0;i<n;i++){
        for(int j = 0;j<n;j++){
            cin >> arr[i][j];
        }
        
    }
  int sum = 0;

  for(int i = 0;i<n;i++){
    for(int j = 0;j<n;j++){
      int value = arr[i][j];
      int sumtmp;
      if(value != 0){
        sumtmp = 4*value + 2;
      }else{
        continue;
      }
      // check 4 ways for deduction
      //N
      if(i!=0){ //no need to check N if i ==0
        //chek if > 0r <
        if(arr[i-1][j]<arr[i][j]){
          sumtmp -= arr[i-1][j];
        }else{
          sumtmp -= arr[i][j];
        }
      }
      if(j != n-1){ // if j == 2 no ned to check E
        if(arr[i][j+1]<arr[i][j]){
          sumtmp -= arr[i][j+1];
        }else{
          sumtmp -= arr[i][j];
        }
      }
      if(i != n-1){ //W
        if(arr[i+1][j]<arr[i][j]){
          sumtmp -= arr[i+1][j];
        }else{
          sumtmp -= arr[i][j];
        }
      }
      if(j != 0){ //S
        if(arr[i][j-1]<arr[i][j]){
          sumtmp -= arr[i][j-1];
        }else{
          sumtmp -= arr[i][j];
        }
      } 
      sum += sumtmp;
    }
    
  }
  cout << sum << endl;

  return 0;
}