• Codeforces Round #552 (Div. 3) D题


    题目网站:http://codeforces.com/contest/1154/problem/D

    题目大意:给出n个数(0或1),还有a , b, a是蓄电池容量,b是电池容量,数为1时蓄电池可以充电

    一小车有这样的电池和蓄电池,问小车可以从第一个数开始走多远?

    题解:显然贪心,蓄电池可以经过1的时候充电,但是蓄电池满的时候就无法充电,那么显然蓄电池满的时候

    经过1肯定是消耗电池,未满的时候经过1也是消耗电池,这样可以给蓄电池充电,当经过0的时候,为了让蓄电池尽快

    的减少(为了经过1的时候就充电),就消耗蓄电池,当然,蓄电池没电了只能消耗电池。

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 const int maxn=2e5+7;
     4 int a[maxn];
     5 int main()
     6 {
     7     int x,y,n,yy,ans=0;
     8     cin>>n>>x>>y;//x是电池容量,y是蓄电池容量 
     9     yy=y;
    10     for(int i=1;i<=n;i++) scanf("%d",&a[i]);
    11     for(int i=1;i<=n;i++)
    12     {
    13         if(a[i]==1&&(x>0||yy>0))
    14         {
    15             if(yy==y) yy--,ans++;
    16             else if(yy<y&&x>0) yy++,x--,ans++;
    17             else if(x==0) yy--,ans++;
    18         }
    19         if(a[i]==0&&(x>0||yy>0))
    20         {
    21             if(yy>0) yy--,ans++;
    22             else x--,ans++;
    23         }
    24     }
    25     cout<<ans<<endl;
    26 } 
    View Code
  • 相关阅读:
    Pandas基本命令
    python——内建模块instance的学习
    pyhton——logging日志模块的学习
    mongoDB集群的搭建
    goahead(web服务器)分析
    2019-9
    cmake
    mqtt+htttp+websocket
    u-boot中filesize环境变量【转载】
    cppcheck下载及使用
  • 原文地址:https://www.cnblogs.com/duxing201806/p/10726582.html
Copyright © 2020-2023  润新知