1 条题解

  • 1
    @ 2024-8-3 12:35:11

    这个题我们可以利用两个变量l和r来解决。首先我们输入这个数组之后一从左往右遍历,每次只要遇到0,l++如果遇到了1,就不再增加了。而r则是从右往左遍历,思路是相同的。最后用所有的杯子数减去l和r,就是最终的答案。 这道题是捆绑测试 ###上AC代码!### #include <iostream using namespace std; bool a[100010]; int main(){ int n; int lcc=0; int rcc=0; cin>>n; int m=n; for(int i=1;i<=n;i++){ cin>>a[i]; } for(int i=1;i<=n;i++){ if(a[i]0){ lcc++; }else{ m-=lcc; break; } } if(lccn){ cout<<0; return 0; } if(m==0){ cout<<0; return 0; } for(int i=n;i>=1;i--){ if(a[i]==0){ rcc++; }else{ m-=rcc; break; } } cout<<m; }

    • 1

    信息

    ID
    722
    时间
    1000ms
    内存
    256MiB
    难度
    5
    标签
    (无)
    递交数
    40
    已通过
    17
    上传者