真·水题.
AC code:
#include <cstdio>
const int N=10010;
int n,ans=4;
int a[N],b[N];
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
for(int i=0;i<=1;i++){
for(int j=0;j<=1;j++){
b[1]=i;b[2]=j;
for(int k=3;k<=n;k++) b[k]=a[k-1]-b[k-2]-b[k-1];
for(int k=1;k<=n;k++){
if(b[k]<0||b[k-1]+b[k]+b[k+1]!=a[k]){
ans--;
break;
}
}
}
}
printf("%d",ans);
return 0;
}