EOJ 3367. 咸鱼翻身

2023-12-28 01:18
文章标签 eoj 3367 咸鱼翻身

本文主要是介绍EOJ 3367. 咸鱼翻身,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

3367. 咸鱼翻身

Time limit per test: 2.0 seconds

Memory limit: 256 megabytes

海边躺着一排咸鱼,一些有梦想的咸鱼成功翻身(然而没有什么卵用),一些则是继续当咸鱼。大佬 kblack 想要帮这些咸鱼翻身,但是他比较懒,所以只会从某只咸鱼开始,往一个方向,一只只咸鱼翻过去,翻转若干只后就转身离去,深藏功与名,但是很不幸,kblack 的一通操作,也很可能让一些原本拥有梦想的咸鱼失去梦想。

更准确地说,kblack 会选择一个区间  [L,R] ,改变区间内所有咸鱼原本的状态。注意至少翻转一条咸鱼

kblack 离开后想知道如果他采取最优策略,最多有多少条咸鱼成功翻身。

Input

一个整数  n   (1n105)

接下来一行  n  个整数, 0  表示没有翻身, 1  表示处于翻身状态,数据保证只有  0  和  1

Output

在大佬 kblack 的操作后,最多有多少咸鱼拥有梦想(即  1  的最大数量)。

Examples

input
6
0 0 0 1 1 1
output
6
input
6
0 1 1 0 0 0
output
5

Source

2017.9.27 ACM 选拔赛

#include<bits/stdc++.h>
const int N = 1e5+10;
int a[N];
using namespace std;
int main()
{int n;cin>>n;int cnt=0;for(int i=0; i<n; i++){scanf("%d",&a[i]);if(a[i])cnt++;}if(cnt==n)cout<<n-1<<endl;else{int maxhere=0,maxnum=0;for(int i=0;i<n;i++){if(a[i])maxhere--;else maxhere++;if(maxhere<0)maxhere=0;maxnum=max(maxhere,maxnum);}cout<<maxnum+cnt<<endl;}return 0;
}



    

这篇关于EOJ 3367. 咸鱼翻身的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/544762

相关文章

EOJ-大学生程序设计邀请赛(华东师范大学)-I-七巧板

ACM模版 描述 题解 计算几何问题……不难,就是麻烦,精度问题也需要着重注意,注意人家输入精确到 10−12 10^{-12},而不是拼接时精确到 10−12 10^{-12}! 我是通过判断面积是否可以构成正方形(与最大边符合),三角形是否有五个,四边形是否有两个,七个多边形一共23条边排序后是否符合七巧板的规格等等,当然,我这个也不是最简单的,完全可以通过判断多边形之间各

Pseudoforest HDU - 3367

http://acm.hdu.edu.cn/showproblem.php?pid=3367 一开始想当然地求最大生成树然后再加边 WA。。 看题解就是把克鲁斯卡尔的判连通再加上判环就好 这样还是符合原算法的贪心策略的   #include <bits/stdc++.h>using namespace std;const int maxn=1e5+10;const int maxm=1

EOJ 3022. 计算n!右端0的个数(II)

Time limit per test: 2.0 seconds Memory limit: 256 megabytes 给定一个整数 N (1≤N≤1000),输出 N 阶乘右端 0 的个数。 Input 第 1 行:一个整数 T (1≤T≤10) 为问题数。 接下来共 T 行,每行一个整数,表示 N (1≤N≤1000)。 Output 对于每个问题,输出一行问题的编号(0

EOJ 1816. 连通

http://acm.ecnu.edu.cn/problem/1816/ 思路:并查集 #include<stdio.h>#include<string.h>#include<math.h>#include<algorithm>using namespace std;#define INF 110int set[1000005];int find(int x){return x==

EOJ Monthly 2020.7 Sponsored by TuSimple——E

因数串 很少能遇到这种用到基础数论知识的题,写篇博客复习一下。 首先,输入的n对数,是将这个数进行质因数分解的结果,任何一个大于1的正整数都能唯一分解为有限个质数的乘积,可写作: N=p1c1p2c2p3c3…pmcm 其中pi都是质数,其p1<p2<p3…<pm。 一个数的因子个数为:(c1+1)(c2+1)(c3+1)…*(cm+1) #include<bits/stdc++.h>us

EOJ Monthly 2021.10 Sponsored by TuSimple B. Secret(BFS)

菜鸡只会做水题 // #pragma GCC optimize(2)#include <algorithm>#include <iostream>#include <sstream>#include <cstring>#include <cstdio>#include <random>#include <cctype>#include <bitset>#includ

EOJ Monthly 2021.3 Sponsored by TuSimple

D. 关于小方的爆款桌游还没面世就要夭折这回事 没有首先想到题解中给的方法 可以用n=2的情况稍微归纳一下 猜一个结果 https://acm.ecnu.edu.cn/contest/375/problem/D/ #include <stdio.h>#include <iostream>using namespace std;int main(){int n=0;int m=0;

EOJ Monthly 2020.7 Sponsored by TuSimple(A 签到 B 签到 C 思维+二维前缀和 E dfs 构造)

题目链接 A. 打字机 做法:签到题,对b进行 a 的匹配。类似括号匹配的做法。若有匹配则看最后一个b的前面a的数量是否比b 是 输出 Happy Fang否 输出 Sad Fang。 若匹配失败 输出 Dead Fang 。 特判断全a的情况 #include<bits/stdc++.h>#define rep(i,a,b) for(int i=a;i<=(b);++i)#def

EOJ Monthly 2020.9 Sponsored by TuSimple B. 健康监测计划

EOJ Monthly 2020.9 Sponsored by TuSimple B. 健康监测计划 题目链接 规律题~ 对于 k k k 为偶数的时候,就是取 k 2 \frac{k}{2} 2k​ 次叶子(一次是指取当前图中的所有叶子结点,且每取一次叶子结点都要删去),当 k k k 为奇数的时候,多取一个结点,AC代码如下: #include <bits/stdc++.h>us

(洛谷 3367)【模(mú)板】并查集

分析 其实就是洛谷3366降低了点层次 kruskal模板 代码 #include <cstdio>using namespace std;int fat[10001],n,m;int father(int x){if (fat[x]==x) return x;else return fat[x]=father(fat[x]);}bool un(bool z,int x,int