为什么这个代码第五个答案过不了
  • 板块P1638 逛画展
  • 楼主fayeYMO
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/3/31 16:35
  • 上次更新2024/3/31 19:20:55
查看原帖
为什么这个代码第五个答案过不了
1017690
fayeYMO楼主2024/3/31 16:35

很想下载测试数据,但是实名过后来下载提示我没有次数了orz

#include<bits/stdc++.h>
#define int long long
#define endl '\n'
using namespace std;
const int N =500+10;
int ans = 0;
int k;


signed main() {
 
    ios::sync_with_stdio(0); 
    cin.tie(0);
    cout.tie(0);
   
    int n,m,a=1,b=1;
    cin>>n>>m;
  
   vector<int> v;//画家访问情况 
   v.assign(m+1,0);
   
    vector<int> p;//画 
	p.assign(n+1,0);
	
	ans=n;
	
	for(int i=1;i<=n;i++){
		cin>>p[i];
	}
	
	
   int s=0;
   for(int l=1,r=1;r<=n;r++){
   	if(!v[p[r]]) {
   		s++;
	   }
	v[p[r]]++;
	
	
	while(l<r){
		if(v[p[l]]-1>=1) {
			v[p[l]]--;
			l++;
		}
		else  break; 
	}
   
   	if(s==m){
   		if(ans>r-l+1){
   			ans=r-l+1;
			a=l,b=r;
		   }
		if(ans==m) break;
		
	}
	   
	
	   
   }
    
    
   
  cout<<a<<" "<<b;
  return 0;
}

、
2024/3/31 16:35
加载中...