提交时间:2023-05-20 17:39:34
运行 ID: 74226
#include<cstdio> bool f[100000]; int n,m,a[100000],cnt[100000],ocnt,ans; int main(){ scanf("%d %d",&n,&m); for(int i=0;i<m;i++){ scanf("%d",&a[i]); a[i]--; if(cnt[a[i]]==1) ocnt++; cnt[a[i]]++; if(i>=n){ if(cnt[a[i-n]]==2) ocnt--; cnt[a[i-n]]--; } f[i]=ocnt; } for(int i=m;i<m+n;i++){ if(cnt[a[i]]==1) ocnt++; cnt[a[i]]++; if(i>=n){ if(cnt[a[i-n]]==2) ocnt--; cnt[a[i-n]]--; } f[i]=ocnt; } // for(int i=0;i<m;i++) printf("%d ",f[i]); // printf("\n"); for(int i=0;i<n;i++){ bool flag=true; for(int j=0;n*j+i<m+n;j++){ if(f[n*j+i]){ flag=false; break; } } if(flag) ans++; } printf("%d",ans); return 0; }