40分TLE求优化
查看原帖
40分TLE求优化
558252
yibin楼主2023/8/20 14:49
#include<bits/stdc++.h>
#include<iostream>
#include<algorithm>
#include <math.h>
#define ll long long
#define Ull unsigned long long
using namespace std;
const int Inf=1e6+1;
ll n,m,c1,c2;
ll a[Inf],b[Inf];
ll s[Inf],sl=0;
ll f[Inf];
void KMP(){
	
}
map<ll,ll>ma;
int k=0;int ans=0;
int main(){
	cin>>n>>m>>c1>>c2;
	for(int i=1;i<=n;i++){
		scanf("%lld",&a[i]);
		ma[a[i]]++;
	}
	
	for(int i=1;i<=m;i++){
		scanf("%lld",&b[i]);
		if(ma[b[i]]>0){
			s[++sl]=b[i];
			ma[b[i]];
			ans++;
		}
	}
	if(c1==0&&c2==0){
		printf("0 0");
		return 0;
	}
	
	if(c2==0){
		printf("%d 0",ans);return 0;
	}
	
	for(int i=1;i<=sl;k++){
		if(k==sl)break;
		for(int j=1;j<=n;j++){
			if(s[i]==a[j]){
				i++;
				if(j==1){
					i++;
				} 
			}
		}
	}
	cout<<ans<<" "<<k<<endl;
	return 0;
}
2023/8/20 14:49
加载中...