262432026-03-22 21:29:51LazurAndrasJegesmedve (50)cpp17Elfogadva 50/509ms1012 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int INF = 1e17+1;

signed main() {
    ios::sync_with_stdio(false); cin.tie(nullptr);
    int n, m; cin >> n >> m;
    vector<vector<int>>a(n, vector<int>(m));
    vector<vector<int>>h(n, vector<int>(m));
    int x, y;
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < m; j++)
        {
            cin >> a[i][j];
            if(a[i][j] == -1) {x = i; y = j;}
        }
    }
    for(int i = 0; i < n; i++)
        for(int j = 0; j < m; j++)
            cin >> h[i][j];
    vector<vector<int>>d(n, vector<int>(m, -1));
    priority_queue<array<int, 3>>pq;
    pq.push({INF, x, y});
    d[x][y] = INF;
    while(!pq.empty())
    {
        auto [mx, i, j] = pq.top();
        pq.pop();
        if(mx != d[i][j]) continue;
        if(i > 0 && d[i-1][j] < d[i][j]) {d[i-1][j] = min(d[i][j], a[i-1][j]); pq.push({d[i-1][j], i-1, j});}
        if(i < n-1 && d[i+1][j] < d[i][j]) {d[i+1][j] = min(d[i][j], a[i+1][j]); pq.push({d[i+1][j], i+1, j});}
        if(j > 0 && d[i][j-1] < d[i][j]) {d[i][j-1] = min(d[i][j], a[i][j-1]); pq.push({d[i][j-1], i, j-1});}
        if(j < m-1 && d[i][j+1] < d[i][j]) {d[i][j+1] = min(d[i][j], a[i][j+1]); pq.push({d[i][j+1], i, j+1});}
    }
    int ans = -1;
    map<int, int>f;
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < m; j++)
        {
            f[d[i][j]] += h[i][j];
        }
    }
    for(auto [v, k] : f)
    {
        if(v <= ans) continue;
        ans = min(ans + k, v);
    }
    cout << ans + 1;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/01ms316 KiB
3Elfogadva3/31ms316 KiB
4Elfogadva3/32ms512 KiB
5Elfogadva3/32ms508 KiB
6Elfogadva4/44ms568 KiB
7Elfogadva3/31ms316 KiB
8Elfogadva3/31ms316 KiB
9Elfogadva3/31ms316 KiB
10Elfogadva4/41ms316 KiB
11Elfogadva4/43ms528 KiB
12Elfogadva4/42ms500 KiB
13Elfogadva4/42ms508 KiB
14Elfogadva4/47ms820 KiB
15Elfogadva4/48ms888 KiB
16Elfogadva4/49ms1012 KiB