122612024-12-10 17:56:12IgnácHegyi levegőcpp17Hibás válasz 0/1003.118s293348 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(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álasz6ms320 KiB
4Időlimit túllépés3.105s98840 KiB
5Hibás válasz2.625s49768 KiB
6Hibás válasz103ms3568 KiB
7Időlimit túllépés3.118s293348 KiB
8Hibás válasz1.049s25224 KiB
9Hibás válasz74ms1964 KiB
10Hibás válasz6ms1016 KiB
subtask30/20
11Elfogadva1ms320 KiB
12Hibás válasz4ms508 KiB
13Hibás válasz28ms568 KiB
14Hibás válasz293ms2480 KiB
15Hibás válasz771ms8260 KiB
subtask40/20
16Hibás válasz670ms6992 KiB
17Hibás válasz805ms59192 KiB
18Időlimit túllépés3.085s201588 KiB
19Időlimit túllépés3.088s201440 KiB
20Időlimit túllépés3.101s201412 KiB
subtask50/31
21Hibás válasz615ms17208 KiB
22Időlimit túllépés3.091s99644 KiB
23Időlimit túllépés3.105s271080 KiB
24Időlimit túllépés3.101s198084 KiB
25Hibás válasz531ms3508 KiB
26Időlimit túllépés3.098s198336 KiB
27Időlimit túllépés3.101s198236 KiB
28Hibás válasz527ms3620 KiB
29Időlimit túllépés3.098s2340 KiB
subtask60/10
30Hibás válasz1.786s73500 KiB
31Időlimit túllépés3.088s103016 KiB
32Időlimit túllépés3.092s201416 KiB
33Időlimit túllépés3.091s201432 KiB
34Hibás válasz1.509s11160 KiB
35Időlimit túllépés3.082s7096 KiB
36Időlimit túllépés3.096s201404 KiB
37Időlimit túllépés3.111s201408 KiB
38Hibás válasz1.483s11672 KiB
39Időlimit túllépés3.082s9060 KiB