确定a[0]后,数组就确定了。枚举a[0]的值即可
#include<stdio.h>
int a[1005];
int min(int a,int b){
return a>b?b:a;
}
int n,k;
int a02i(int b){
int rst=0;
for(int i=0;i<n;i++){
if(a[i]!=b)
rst++;
b+=k;
}
return rst;
}
void print(int b){
for(int i=0;i<n;i++){
if(b>a[i])
printf("+ %d %d\n",i+1,b-a[i]);
else if(b<a[i])
printf("- %d %d\n",i+1,a[i]-b);
b+=k;
}
}
int main(){
scanf("%d%d",&n,&k);
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
int xiao=1002,loc;
for(int i=1;i<=1000;i++){
int t=a02i(i);
if(xiao>t)
xiao=t,loc=i;
}
printf("%d\n",xiao);
print(loc);
}