WA on #1
查看原帖
WA on #1
1124480
t202482楼主2024/4/4 15:25

记录

#include<iostream>
#include<algorithm>
using namespace std;
#define R register
#define getchar() (S==TT&&(TT=(S=BB)+fread(BB,1,32768,stdin),TT==S)?EOF:*S++)
char BB[32768],*S=BB,*TT=BB;
inline int in(){
	R int x=0;R bool f=0;R char c;for(;(c=getchar())<'0'||c>'9';f=c=='-');
	for(x=c-'0';(c=getchar())>='0'&&c<='9';x=(x<<3)+(x<<1)+c-'0');return f?-x:x;
}
int main(){
	ios::sync_with_stdio(0);
	int a[10005], f[10005], d[5],r=in(), c=in(), n; pair<int,int>b[10005];
	n=r*c, d[1]=-c, d[2]=c, d[3]=-1, d[4]=1;
	for(R int i=1; i<=n; ++i)
		a[i] = b[i].first = in(), b[i].second=i;
	
	sort(b+1, b+n+1);
	for(R int i=1,s; i<=n; ++i){
		f[s=b[i].second] = 1;
		for(R int j=1,v; j<=4; ++j)
			v = s + d[j],
			v>0 && v<=n && a[v]<a[s] && (f[s] = max(f[s], f[v]+1));
	}
	
	c=1; for(R int i=1; i<=n; ++i)c = max(c,f[i]);
	cout << c;return 0;
}
2024/4/4 15:25
加载中...