Yahoo Progamming Contest 2019D(DP,思维)
2024-09-04 16:32:45
#include<bits/stdc++.h>
using namespace std;
long long n,v,a,b,c,d,e;
int main(){
scanf("%d",&n);
while(n--){
scanf("%d",&v);
a+=v;//记录前面全清零需要的花费
b=min(b+(v?v%2:2),a);//记录从清零之后全部变为偶数需要的花费
c=min(c+!(v%2),b);//记录全是偶数之后全部变为奇数需要的花费
d=min(d+(v?v%2:2),c);//记录全是奇数之后全部变为偶数需要的花费
e=min(e+v,d);//记录全是偶数之后全部清零需要的花费
printf("%lld",e);
}
}
最新文章
- js图片前端预览之 filereader 和 window.URL.createObjectURL
- [mobile开发碎碎念]手机页面上显示PDF文件
- 百度云 + GIT
- jQuery之ajax的跨域获取数据
- Show Linux Package Sort By Size
- C#DataGridView 美化
- GCC --verbose选项, -lpthread 和-pthread的区别
- subline text 3的模版设置
- 苹果iOS苹果公司的手机用户都有权索赔
- linux c中select使用技巧
- hdu 6047 Maximum Sequence(贪心)
- java之基础数据类型学习————(一)
- 微信小程序基础之在微信上显示和体验小程序?
- 远离压力,提高效率——Getting things done读书笔记
- 安装rlwrap-0.37.tar.gz
- node.js设置跨域
- Unity3d项目入门之Rolling Ball
- web应用与web框架
- HTTP 错误 500.19 配置文件错误 (	0x8007000d,0x80070032)
- 转 Katana 项目入门