如题
#include <bits/stdc++.h>
using namespace std;
int n,m,k,a,b[2005],c[2005],cnt,t,s;
int flag;
int ans;
int main()
{
int i,j,t;
cin>>n>>m>>k;
int tt=k+k+1;
for(i=1;i<=m;i++){
cin>>a;
s=a-k;
if(s<=0)s=1;
for(j=s;j<=a+k;j++){
b[j]=1;
}
} b[n+1]=1;
//for(i=1;i<=n;i++)cout<<b[i]<<" ";
//cout<<endl;
for(i=1;i<=n+1;i++){
if(b[i]==0)flag=1,cnt++;
if(b[i]==1&&flag==1)c[++t]=cnt,cnt=0,flag=0;
if(b[i]==1&&flag==0);
}
for(i=1;i<=t;i++){
if(c[i]>tt&&c[i]%tt>0){
ans+=c[i]/tt+1;
continue;
}
if(c[i]<=tt)ans++;
}
cout<<ans<<endl;
return 0;
}