Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: kavin8888

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

Language: cpp

Time: 0.003 second

Submitted On: 2025-10-14 19:19:43

#include <bits/stdc++.h>

using namespace std;

#define MAX_N 500

vector<vector<int>> arr(MAX_N + 1, vector<int>(MAX_N + 1));

int main() {
    // Input
    int n;
    cin >> n;
    string s;
    cin >> s;
    string cur = "";
    int cnt = 0;
    for (int i = 0; i < s.size(); i++) {
        if (s[i] != '[' && s[i] != ']' && s[i] != ',') {
            cur += s[i];
        } else if (cur != "") {
            arr[(cnt / n) + 1][(cnt % n) + 1] = stoi(cur);
            cnt++;
            cur = "";
        }
    }

    // Process
    int ans = 0;
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= n; j++) {
            if (arr[i][j] > 0) {
                ans += 2;
            }
            if (arr[i - 1][j] < arr[i][j]) {
                ans += arr[i][j] - arr[i - 1][j];
            }
            if (arr[i + 1][j] < arr[i][j]) {
                ans += arr[i][j] - arr[i + 1][j];
            }
            if (arr[i][j - 1] < arr[i][j]) {
                ans += arr[i][j] - arr[i][j - 1];
            }
            if (arr[i][j + 1] < arr[i][j]) {
                ans += arr[i][j] - arr[i][j + 1];
            }
        }
    }

    // Output
    cout << ans << '\n';
    return 0;
}