80pts,求助
查看原帖
80pts,求助
661913
liwenxi1145144444楼主2024/7/26 16:48
#include<bits/stdc++.h>
using namespace std;
int n,m,c1,c2,s[1000005],t[1000005],cnt;
vector<int> v[1000005];
int main(){
	cin>>n>>m>>c1>>c2;
	for(int i=1;i<=n;i++){
		cin>>s[i];
		v[s[i]].push_back(i);
	}
	for(int i=1;i<=m;i++){
		cin>>t[i];
		if(v[t[i]].size()){
			t[++cnt]=t[i];
		}
	}
	if(cnt==0){
		cout<<"0 0";
		return 0;
	}
	int now=v[t[1]][0],ans=0;
	for(int i=1;i<=cnt;i++){
		int k=upper_bound(v[t[i]].begin(),v[t[i]].end(),now)-v[t[i]].begin();
		if(k==v[t[i]].size()){
			ans++;
			now=v[t[i]][0];
		}else{
			now=v[t[i]][k];
		}
	}
	cout<<cnt*c1<<" "<<(ans+1)*c2;
	return 0;
}
2024/7/26 16:48
加载中...