#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
using namespace std;
const int p=100002;
int n,s,w,a[p];
bool b[p];
int main()
{
scanf("%d%d%d",&w,&n,&s);
a[n+1]=w;
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
for(int i=0;i<=n-1;i++)
if(a[i+2]-a[i]<s)
{printf("NO");return 0;}
if(a[1]<s||a[n+1]-a[n]<s){printf("NO");return 0;}
printf("YES\n");
for(int i=1;i<=n;i++)
if(a[i]-a[i-1]>=s){printf("%d ",i);b[i]=true;}
printf("%d ",n+1);
for(int i=n;i>=0;i--)
if(!b[i])
printf("%d ",i);
/*for(int i=1;i<=n;i+=2)
printf("%d ",i);
printf("%d ",n+1);
for(int i=n/2*2;i>=0;i-=2)
printf("%d ",i);
return 0;*/
}
by HHCY @ 2018-07-15 09:06:49
看YES以下即可
by HHCY @ 2018-07-15 09:07:27