Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
28297 | hi_hi | 【J】T2 | C++ | 解答错误 | 0 | 11 MS | 1032 KB | 922 | 2024-04-14 12:47:16 |
#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; }