# include using namespace std; #pragma GCC optimize ("O3") #pragma GCC target ("sse4") const int maxn = 505; int a[maxn][maxn]; int v[maxn][maxn]; int ans[maxn][maxn]; int n,m; struct nodes { int x,y,st; nodes(int __x, int __y, int __st) { x= __x; y = __y; st = __st; } }; vector p; bool cmp(nodes i, nodes j) { return i.st>j.st; } int vis[maxn][maxn],ids = 1; void dijkstra(int x, int y) { // cout<<"*"< > > q; q.push({a[x][y],{x,y}}); while(!q.empty()) { x = q.top().second.first; y = q.top().second.second; int t = q.top().first; // cout<0&&i<=n&&j>0&&j<=m) if(vis[i][j]!=ids) { vis[i][j] = ids; if(a[px][py]-min(a[i][j],t)0&&i<=n&&j>0&&j<=m) if(vis[i][j]!=ids) { vis[i][j] = ids; if(a[px][py]-min(a[i][j],t)0&&i<=n&&j>0&&j<=m) if(vis[i][j]!=ids) { vis[i][j] = ids; if(a[px][py]-min(a[i][j],t)0&&i<=n&&j>0&&j<=m) if(vis[i][j]!=ids) { vis[i][j] = ids; if(a[px][py]-min(a[i][j],t)>n>>m; for(i=1;i<=n;i++) { for(j=1;j<=m;j++) { cin>>a[i][j]; p.push_back(nodes(i,j,a[i][j])); v[i][j] = n*m; } } sort(p.begin(),p.end(),cmp); for(i=0;i0) cout<