2 solutions

  • 0
    @ 2026-10-3 10:07:41
    #include<bits/stdc++.h>
    using namespace std;
    int a[300005];
    map<int,int> m;
    int main()
    {
    	int n,k;cin>>n>>k;
    	int ans=0,sum=0;
    	for(int i=1;i<=n;i++) cin>>a[i];
    	for(int i=1;i<=n;i++) {
    		m[a[i]]++;
    		if(m[a[i]]==1) sum++;
    		int l=i-k;
    		if(l>0){
    			m[a[l]]--;
    			if(m[a[l]]==0) sum--;
    		}
    		ans=max(ans,sum);
    	}
    	cout<<ans;
    	return 0;
    }
    

    Information

    ID
    2732
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    5
    Tags
    # Submissions
    20
    Accepted
    9
    Uploaded By