交到洛谷上ac了,但是本地不通过
查看原帖
交到洛谷上ac了,但是本地不通过
632830
Mark_666楼主2024/8/27 14:57
#include<bits/stdc++.h>
using namespace std;
const int N=5e3+10;
int a[N];
int f[N];
int n;
int ans=-0x3f3f3f3f;

char buf[1<<21],*p1=buf,*p2=buf;
static inline char gc()
{
	if(p1==p2) p2=(p1=buf)+fread(buf,1,1<<21,stdin);
	return *(p1++);
}
static inline int read()
{
	int fl=1,w=0;
	char ch=gc();
	while(!isdigit(ch)) {
		if(ch=='-') fl=-1;
		ch=gc();
	}
	while(isdigit(ch)){w=w*10+ch-'0'; ch=gc();}
	return fl*w;
}
static inline void write(int x)
{
	if(x<0) putchar('-'),x=-x;
	if(x>9) write(x/10);
	putchar(x%10+'0');
}

int main()
{
	n=read();	
	for(int i=1;i<=n;i++) a[i]=read(),f[i]=1;

	for(int i=1;i<=n;i++)
		for(int j=1;j<=i-1;j++)
			if(a[j]<a[i]) f[i]=max(f[i],f[j]+1),ans=max(ans,f[i]);
	
	write(ans);
	return 0;
}

本地运行没有输出是为啥,fread用的应该对吧...

2024/8/27 14:57
加载中...