QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#143203#7051. Largest Common SubmatrixSorting#Compile Error//Python31.4kb2023-08-20 21:35:072023-08-20 21:35:10

Judging History

你现在查看的是最新测评结果

  • [2023-08-20 21:35:10]
  • 评测
  • [2023-08-20 21:35:07]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define fi first
#define se second
int n,m;
pair<int,int>pa[1000001];
pair<int,int>g[1001][1001];
int h[1001];
int l[1001],r[1001];
int main(){
	ios::sync_with_stdio(false);cin.tie(0);
	cin >> n >> m;
	for(int i=1; i<=n ;i++){
		for(int j=1; j<=m ;j++){
			int x;cin >> x;
			pa[x]={i,j};
		}
	}
	for(int i=1; i<=n ;i++){
		for(int j=1; j<=m ;j++){
			int x;cin >> x;
			g[i][j]={i-pa[x].fi,j-pa[x].se};
		}
	}
	int ans=0;
	for(int i=1; i<=n ;i++){
		for(int j=1; j<=m ;j++){
			if(i!=1 && g[i][j]!=g[i-1][j]) h[j]=1;
			else h[j]++;
			//cout << i << ' ' << j << ' ' << h[j] << endl;
		}
		vector<pair<int,int> >v;
		v.push_back({0,0});
		for(int j=1; j<=m ;j++){
			if(g[i][j]!=g[i][j-1]){
				v.clear();
				v.push_back({j-1,0});
			}
			while(!v.empty() && v.back().se>=h[j]) v.pop_back();
			l[j]=v.back().fi+1;
			v.push_back({j,h[j]});
		}
		v.clear();v.push_back({m+1,0});
		for(int j=m; j>=1 ;j--){
			if(j!=m && g[i][j]!=g[i][j+1]){
				v.clear();
				v.push_back({j+1,0});
			}
			while(!v.empty() && v.back().se>=h[j]) v.pop_back();
			r[j]=v.back().fi-1;
			v.push_back({j,h[j]});
		}
		for(int j=1; j<=m ;j++){
			ans=max(ans,h[j]*(r[j]-l[j]+1));
			//cout << i << ' ' << j << ' ' << l[j] << ' ' << r[j] << endl;
		}
	}
	cout << ans << '\n';
}

详细

  File "answer.code", line 2
    using namespace std;
          ^^^^^^^^^
SyntaxError: invalid syntax