http://codeforces.com/contest/1154/problem/D

解题:

1.无光的时候优先使用太阳能电池。

2.有光的时候

(1)太阳能电池没满电,让它充,使用普通电池

(2)太阳能电池满电,使用太阳能电池

#include<stdio.h>
#include<math.h>
#include<string.h>
#include<algorithm>
#include<string>
#include<vector>
#include<iostream>
#include<cstring>
#include<set>
#include<queue>
#define inf 0x3f3f3f3f
#define ll long long
using namespace std; int n,a,b;
int s[]; int main()
{
while(scanf("%d%d%d",&n,&a,&b)!=EOF)///路段 普通电池 太阳能电池
{
for(int i=;i<=n;i++)
scanf("%d",&s[i]);
int maxx=b;
int sum=;
for(int i=;i<=n;i++)
{
if(s[i]==)///无光
{
if(b)///优先使用太阳能电池
{
b--;
sum++;
}
else if(a)///其次使用普通电池
{
a--;
sum++;
}
else
break;
}
else ///有光
{
if(b==maxx)///太阳能满了就优先使用它
{
b--;
sum++;
}
else if(a)///太阳能没满就让太阳能充电,用普通电池
{
b++;
sum++;
a--;
}
else if(b)///太阳能没满,但是普通电池已经用完了
{
b--;
sum++;
}
else
break;
}
}
printf("%d\n",sum);
}
return ;
}

最新文章

  1. Linux shell编程
  2. CodeForces 520B Two Buttons(用BFS)
  3. java面试宝典(蓝桥学院)
  4. Cheatsheet: 2014 07.01 ~ 07.31
  5. Java中this,static,super及finalkeyword和代码块
  6. SAP 使用SQL Trace(ST05)
  7. Linux系统源码安装过程中的prefix选项
  8. xssgame挑战wp
  9. 解决Navicat远程连接MySQL出现 10060 unknow error
  10. 对display主要属性的探究,以及vertical-aligin
  11. oracle查询重复数据方法
  12. Php文件上传类class.upload.php
  13. 消息队列系统 -- RabbitMQ
  14. Mysql(五) JDBC
  15. kubernetes 一些基本的概念
  16. Spring框架的AOP的底层实现
  17. 调试cnn-Sentence-Classifier遇到的问题
  18. 用Qt制作的Android独立游戏《吃药了》公布
  19. eclipse git 开发操作流程
  20. Sql_server_2014创建数据库自动备份

热门文章

  1. IDEA中pom文件大面积爆红的解决办法
  2. Codeforces Round #580 (Div. 1)
  3. 推送一个docker 使用阿里docker hub
  4. Schnorr签名介绍
  5. 第一次Git上传本地项目到github上 的命令
  6. 【转载】C#通过IndexOf方法获取某一列在DataTable中的索引位置
  7. cmd查找并杀死被占用的端口的进程
  8. 2 Android程序的执行
  9. CDA数据分析【第一章:数据分析概述】
  10. git 自定义log