P1381求调,悬一关
  • 板块学术版
  • 楼主CSP_Sloser1130
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/7/18 14:05
  • 上次更新2024/7/18 14:48:43
查看原帖
P1381求调,悬一关
762695
CSP_Sloser1130楼主2024/7/18 14:05

已经调了很久了,这是最新代码 在另一个平台上交是AC的,在谷上全WA

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll N=1e5+5,INF=0x3f3f3f3f;
ll n,m,cnt=0,num=0,ans=0,j=1,minn=N;
string s;
unordered_map<string,ll>ump;
map<string,ll>mp;
string article[N];
int main(){
	cin>>n;
	for(ll i=1;i<=n;i++){
		cin>>s;
		ump[s]=1;
	} 
	cin>>m;
	for(ll i=1;i<=m;i++){
		cin>>article[i];
		if(ump[article[i]]!=0) cnt++;
		ump[article[i]]=0;
	}
	for(ll i=1;i<=m;i++) ump[article[i]]=1;
	cout<<cnt<<endl;
	for(ll i=1;i<=m;i++){
		if(mp[article[i]]==0&&ump[article[i]]==1) num++;
		mp[article[i]]++;
		ans++;
		if(num==cnt){
			while((ump[article[j]]==0||mp[article[j]]>1)&&j<=m){
				mp[article[j]]--;
				j++;
				ans--;
			}
			minn=min(minn,ans);
		}
	}
	cout<<minn;
	return 0;
} 
2024/7/18 14:05
加载中...