122622024-12-10 18:01:39IgnácHegyi levegőcpp17Hibás válasz 0/1003.115s287736 KiB
#include<bits/stdc++.h>
using namespace std;

int main(){
	int n, m, qn;
	cin >> n >> m >> qn;
	vector<vector<int>> h(n, vector<int>(m));
	int mini=INT_MAX;
	for(vector<int>& x : h){
		for(int& y : x){
			cin >> y;
			mini=min(mini, y);
		}
	}
	vector<vector<int>> res(n, vector<int>(m, INT_MAX));
	priority_queue<array<int, 3>, vector<array<int, 3>>, greater<array<int, 3>>> pq;
	for(int i=0;i<n;i++){
		for(int j=0;j<m;j++){
			if(h[i][j]==mini){ pq.push({h[i][j], i, j}); mini=INT_MIN;}
		}
	}
	while(!pq.empty()){
		auto [v, x, y]=pq.top();
		pq.pop();
		res[x][y]=v;
		if(0<x && res[x-1][y]==INT_MAX) pq.push({max(v, h[x-1][y]), x-1, y});
		if(x+1<n && res[x+1][y]==INT_MAX) pq.push({max(v, h[x+1][y]), x+1, y});
		if(0<y && res[x][y-1]==INT_MAX) pq.push({max(v, h[x][y-1]), x, y-1});
		if(y+1<m && res[x][y+1]==INT_MAX) pq.push({max(v, h[x][y+1]), x, y+1});
	}
	for(int i=0;i<qn;i++){
		int a, b, c, d;
		cin >> a >> b >> c >> d;
		//cout << h[a-1][b-1] << ' ' << res[a-1][b-1] << ' ' << res[c-1][d-1] << '\n';
		cout << max(h[a-1][b-1], max(h[c-1][d-1], max(res[a-1][b-1], res[c-1][d-1]))) << '\n';
	}
	return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms320 KiB
2Hibás válasz1ms320 KiB
subtask20/19
3Hibás válasz4ms436 KiB
4Időlimit túllépés3.107s98876 KiB
5Hibás válasz2.513s49604 KiB
6Hibás válasz103ms3660 KiB
7Időlimit túllépés3.115s197428 KiB
8Hibás válasz1.047s25216 KiB
9Hibás válasz74ms1964 KiB
10Hibás válasz6ms824 KiB
subtask30/20
11Elfogadva1ms320 KiB
12Hibás válasz3ms500 KiB
13Hibás válasz28ms480 KiB
14Hibás válasz287ms2348 KiB
15Hibás válasz713ms8264 KiB
subtask40/20
16Hibás válasz647ms7056 KiB
17Hibás válasz794ms55864 KiB
18Időlimit túllépés3.092s201692 KiB
19Időlimit túllépés3.095s201420 KiB
20Időlimit túllépés3.102s201424 KiB
subtask50/31
21Hibás válasz570ms13376 KiB
22Időlimit túllépés3.085s99660 KiB
23Időlimit túllépés3.098s287736 KiB
24Időlimit túllépés3.095s198312 KiB
25Hibás válasz518ms3512 KiB
26Időlimit túllépés3.089s198336 KiB
27Időlimit túllépés3.096s198324 KiB
28Hibás válasz517ms3620 KiB
29Időlimit túllépés3.098s2164 KiB
subtask60/10
30Hibás válasz1.71s60212 KiB
31Időlimit túllépés3.082s103272 KiB
32Időlimit túllépés3.085s201440 KiB
33Időlimit túllépés3.086s201412 KiB
34Hibás válasz1.465s11180 KiB
35Időlimit túllépés3.086s7008 KiB
36Időlimit túllépés3.098s201196 KiB
37Időlimit túllépés3.101s201392 KiB
38Hibás válasz1.476s11664 KiB
39Időlimit túllépés3.085s9056 KiB