神奇 Re 求助
查看原帖
神奇 Re 求助
807774
_Wind_Leaves_ShaDow_楼主2024/10/12 16:39

rt,Re on #3,返回 Exit code is -1073741819 ,找不到哪里能越界 qwq。

谢谢。

#include <bits/stdc++.h>
#define lint __int128
//#define int long long
#define fi first
#define se second
#define Il inline
#define Rg register
#define Ri Rg int
#define vec vector
#define pb push_back
#define IT ::iterator
#define p_que priority_queue

using namespace std;
//typedef long long ll;
typedef double db;
typedef pair<int,int> pii;
const int N=2e5,Inf=1e9;
const db eps=1e-9,pi=acos(-1.0);

int T,n,a[N+5],dp[N+5][2];
int lsh[N+5],dn=0;

Il void Disc(){
	for(Ri i=1;i<=n;i++)lsh[i]=a[i];
	sort(lsh+1,lsh+n+1);dn=unique(lsh+1,lsh+n+1)-lsh-1;
	for(Ri i=1;i<=n;i++)a[i]=lower_bound(lsh+1,lsh+dn+1,a[i])-lsh;
	return;
}

Il void yuanshenqidong(){
	cin>>n;for(Ri i=1;i<=n;i++)cin>>a[i];Disc();
	for(Ri i=1;i<=dn;i++)dp[i][0]=dp[i][1]=0;int ans=n;
//	if(dn>N){cout<<"FALSE!\n";return;}
//	cout<<"check:"<<dn<<'\n';
	for(Ri i=1;i<=n;i++){
//		if(!a[i]){cout<<"WRONG!\n";return;}
		dp[a[i]][0]=dp[(dp[a[i]][0]?a[i]:a[i]-1)][0]+1;
		dp[a[i]][1]=max(dp[a[i]][1],dp[a[i]-1][0])+1;
		ans=min(ans,n-max(dp[a[i]][0],dp[a[i]][1]));
//		cout<<a[i]<<' '<<dp[a[i]][0]<<' '<<dp[a[i]][1]<<'\n';
	}
//	cout<<'\n';
	cout<<ans<<'\n';
	return;
}

signed main(){
	ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	cin>>T>>n;while(T--)yuanshenqidong();
	return 0;
}
2024/10/12 16:39
加载中...