Submission #202094

#TimeUsernameProblemLanguageResultExecution timeMemory
202094blacktulipMaxcomp (info1cup18_maxcomp)C++14
100 / 100
187 ms16760 KiB
#include <bits/stdc++.h>
 
using namespace std;
 
typedef long long lo;
typedef pair< lo,lo > PII;
typedef pair< lo,PII > PIII;
 
#define fi first
#define int long long
#define se second
#define mp make_pair
#define pb push_back
#define fio() ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL)
#define FOR for(int i=1;i<=n;i++)
#define mid ((start+end)/2)
#define ort ((bas+son)/2)
 
const lo MAX = -1000000000000000000;
const lo MIN = 1000000000000000000;
const lo inf = 100000000000000000;
const lo KOK = 100000;
const lo LOG = 30;
const lo li = 1005;
const lo mod = 1000000007;
 
int n,m,b[li],a[li][li],k,flag,t,mx[li];
int cev=-inf;
string s;
vector<PIII> v;
 
main(void){
	scanf("%lld %lld",&n,&m);
	for(int i=1;i<=m;i++)mx[i]=-inf;
	FOR{
		for(int j=1;j<=m;j++){
			scanf("%lld",&a[i][j]);
		}
	}
	FOR{
		int gel=0;
		for(int j=1;j<=m;j++){
			gel--;
			mx[j]--;
			mx[j]=max(mx[j],a[i][j]);
			gel=max(gel,mx[j]);
			cev=max(cev,abs(a[i][j]-gel));
		}
		gel=0;
		for(int j=m;j>=1;j--){
			gel--;
			//~ mx[j]--;
			mx[j]=max(mx[j],a[i][j]);
			gel=max(gel,mx[j]);
			cev=max(cev,abs(a[i][j]-gel));
		}
	}
	for(int i=1;i<=m;i++)mx[i]=-inf;
	for(int i=n;i>=1;i--){
		int gel=0;
		for(int j=1;j<=m;j++){
			gel--;
			mx[j]--;
			mx[j]=max(mx[j],a[i][j]);
			gel=max(gel,mx[j]);
			cev=max(cev,abs(a[i][j]-gel));
		}
		gel=0;
		for(int j=m;j>=1;j--){
			gel--;
			//~ mx[j]--;
			mx[j]=max(mx[j],a[i][j]);
			gel=max(gel,mx[j]);
			cev=max(cev,abs(a[i][j]-gel));
		}
	}
	printf("%lld\n",cev-1);
	return 0;
}

Compilation message (stderr)

maxcomp.cpp:32:10: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
 main(void){
          ^
maxcomp.cpp: In function 'int main()':
maxcomp.cpp:33:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%lld %lld",&n,&m);
  ~~~~~^~~~~~~~~~~~~~~~~~~
maxcomp.cpp:37:9: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    scanf("%lld",&a[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...