Submission #45531

#TimeUsernameProblemLanguageResultExecution timeMemory
45531IvanCMaxcomp (info1cup18_maxcomp)C++17
100 / 100
206 ms56176 KiB
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e3 + 10;
const int INF = 1e9 + 1e4;
int N,M,matriz[MAXN][MAXN],linear[MAXN],melhor;
int main(){
	scanf("%d %d",&N,&M);
	melhor = 0;
	for(int i = 1;i<=N;i++){
		for(int j = 1;j<=M;j++){
			scanf("%d",&matriz[i][j]);
		}
	}
	for(int i = 1;i<=N;i++) linear[i] = INF;
	for(int j = 1;j<=M;j++){
		int menor = INF;
		for(int i = 1;i<=N;i++){
			linear[i] = min(linear[i] + 1, matriz[i][j] );
			menor = min(menor+1,linear[i]);
			melhor = max(melhor, matriz[i][j] - menor );
		}
		menor = INF;
		for(int i = N;i>=1;i--){
			menor = min(menor+1,linear[i]);
			melhor = max(melhor, matriz[i][j] - menor );
		}
	}
	for(int i = 1;i<=N;i++) linear[i] = INF;
	for(int j = M;j>=1;j--){
		int menor = INF;
		for(int i = 1;i<=N;i++){
			linear[i] = min(linear[i] + 1, matriz[i][j] );
			menor = min(menor+1,linear[i]);
			melhor = max(melhor, matriz[i][j] - menor );
		}
		menor = INF;
		for(int i = N;i>=1;i--){
			menor = min(menor+1,linear[i]);
			melhor = max(melhor, matriz[i][j] - menor );
		}
	}
	printf("%d\n",melhor - 1);
	return 0;
}

Compilation message (stderr)

maxcomp.cpp: In function 'int main()':
maxcomp.cpp:7:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d %d",&N,&M);
  ~~~~~^~~~~~~~~~~~~~~
maxcomp.cpp:11:9: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    scanf("%d",&matriz[i][j]);
    ~~~~~^~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...