62分求助
查看原帖
62分求助
1780759
封禁用户楼主2025/7/28 15:39
#include<bits/stdc++.h>
using namespace std;
int n,k,a[500005],ans,t,b[500005];
int main(){
	cin>>n>>k;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	for(int i=1;i<=n;i++){
		if(b[a[i]]==0){
			t++;
			b[a[i]]=1;
		}else{
			for(int j=i+1;j<=n;j++){
				if(b[a[j]]==0){
					ans+=j-i;
					b[a[j]]=1;
					t++;
					break;
				}
			}
		}
		if(t==k){
			cout<<ans;
			return 0;
		}
	}
	cout<<-1;
	return 0;
}

2025/7/28 15:39
加载中...