Submission #439151

#TimeUsernameProblemLanguageResultExecution timeMemory
439151elazarkorenT-Covering (eJOI19_covering)C++17
5 / 100
241 ms7928 KiB
#include <iostream> #include <vector> #include <algorithm> #include <set> #define x first #define y second #define chkmin(a, b) a = min(a, b) #define chkmax(a, b) a = max(a, b) using namespace std; typedef long long ll; typedef vector<int> vi; typedef vector<vi> vvi; typedef pair<int, int> pii; typedef vector<pii> vii; const int infinity = 1e9; int main() { int n, m; cin >> n >> m; vvi board(n, vi(m)); for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { cin >> board[i][j]; } } int k; cin >> k; int ans = 0; while (k--) { int x, y; cin >> x >> y; int sum = board[x][y], min_val = infinity, bad = 4; if (x) { sum += board[x - 1][y]; bad--; chkmin(min_val, board[x - 1][y]); } if (x < n - 1) { sum += board[x + 1][y]; bad--; chkmin(min_val, board[x + 1][y]); } if (y) { sum += board[x][y - 1]; bad--; chkmin(min_val, board[x][y - 1]); } if (y < m - 1) { sum += board[x][y + 1]; bad--; chkmin(min_val, board[x][y + 1]); } if (bad == 1) ans += sum; else if (!bad) ans += sum - min_val; else { cout << "No"; return 0; } } cout << ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...