提交时间:2024-04-14 12:47:16
运行 ID: 28297
#include<bits/stdc++.h> using namespace std; long long n,a[100005],flag0=1,flag1=1,flag10=1,sum; int main(){ //freopen("ahaha.in","r",stdin); //freopen("ahaha.out","w",stdout); scanf("%lld",&n); for(int i=1;i<=n;i++){ scanf("%lld",&a[i]); if(a[i]>=1)flag0=0; if(a[i]==0)flag1=0; if(a[i]>1)flag10=0; } if(flag1==1){ printf("0"); } else if(flag0==1){ printf("%lld\n",n); for(int i=1;i<=n;i++){ printf("%d ",i); } } else if(flag10==1){ int i=1,sum=0; while(i<=n){ if(a[i]==0){ sum++; i++; continue; } if(i!=n){ sum++; i+=2; } if(i==n && a[i]==1)break; } printf("%d\n",sum); i=1; while(i<=n){ if(a[i]==0){ printf("%d ",i); i++; continue; } if(i!=n){ printf("%d ",i); i+=2; } if(i==n && a[i]==1)break; } } // fclose(stdin); // fclose(stdout); return 0; }