代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,m,s,l,x=0,y,a[100000],w[100000];
cin>>n>>m>>s;
if (n<s)
{
cout<<"NO";
return 0;
}
w[0]=0;
w[m+1]=n;
for (int i=1;i<=m;i++)
{
cin>>w[i];
}
for (int i=1;i<=m+1;i++)
{
if (w[i]-w[i-1]>=s)
{
a[x]=i;
x++;
continue;
}
l=i;
while (w[l]-w[l-1]<s)
{
l++;
if (l==m+2)
{
cout<<"NO";
return 0;
}
}
i=l;
a[x]=i;
x++;
}
for (int i=m;i>=0;i--)
{
if (w[i+1]-w[i]>=s)
{
a[x]=i;
x++;
continue;
}
l=i;
while (w[l+1]-w[l]<s)
{
l--;
if (l==-1)
{
cout<<"NO";
return 0;
}
}
i=l;
a[x]=i;
x++;
}
y=x;
for (int i=1;i<x;i++)
{
for (int j=0;j<i;j++)
{
if (a[i]==a[j])
{
y--;
a[j]=-1;
}
}
}
if (y<m+2)
{
cout<<"NO";
return 0;
}
cout<<"YES"<<endl;
for (int i=0;i<x;i++)
{
if (a[i]!=-1)
cout<<a[i]<<" ";
}
return 0;
}