“玲珑杯”线上赛 Round #15 咸鱼魔法记(尺取法)
来源:互联网 发布:数据库创建用户 编辑:程序博客网 时间:2024/05/17 07:22
DESCRIPTION
给你一个01串,我们定义这个串的咸鱼值,是最长的全1串。现在你最多可以使用K次咸鱼魔法,每次魔法,你可以使得一个位置翻转(0变成1,1变成0)。问你这个串的咸鱼值最多是多少。
INPUT
第一行两个整数N,K。表示串的长度和可以施展咸鱼魔法的次数。(N,K<=300000)第二行N个01整数。
OUTPUT
输出答案。
SAMPLE INPUT
10 21 0 0 1 0 1 0 1 0 1
SAMPLE OUTPUT
5
思路:尺取法推进区间的开头和末尾,注意区间开头的推进即可;
代码:
#include<bits/stdc++.h>using namespace std;int a[300007];int main(){ int n, k; scanf("%d%d", &n, &k); for(int i=0; i<n; i++) scanf("%d",&a[i]); int res=0; int s=0,t=0,sum=0; for(;;){ while(t<n&&sum<=k) sum+=(a[t++]==0); res=max(res,t-s-1); if(t>=n) break; for(;;){ if(a[s++]==0){ sum-=1; break; }} } printf("%d\n",res); return 0;}
阅读全文
1 0
- “玲珑杯”线上赛 Round #15 咸鱼魔法记(尺取法)
- “玲珑杯”线上赛 Round #15 咸鱼魔法记(二分搜索)
- “玲珑杯”线上赛 Round #15 河南专场:C -- 咸鱼魔法记
- “玲珑杯”线上赛 Round #15 河南专场 C咸鱼魔法记
- “玲珑杯”线上赛 Round #15 咸鱼文章(栈)
- “玲珑杯” 线上赛 Round #15 咸鱼拷问(RMQ)
- “玲珑杯”线上赛 Round #15 咸鱼商店(二分搜索+01背包)
- “玲珑杯”线上赛 Round #15 河南专场:F -- 咸鱼文章
- “玲珑杯”线上赛 Round #15 河南专场:G -- 咸鱼拷问
- “玲珑杯”线上赛 Round #15 河南专场:E -- 咸鱼旅行
- “玲珑杯”线上赛 Round #15 河南专场 F -- 咸鱼文章
- “玲珑杯”线上赛 Round #15 河南专场:D -- 咸鱼商店
- “玲珑杯”线上赛 Round #15 河南专场 F咸鱼文章
- “玲珑杯”线上赛 Round #15 河南专场 D -- 咸鱼商店
- “玲珑杯”线上赛 Round #15 河南专场 E -- 咸鱼旅行
- “玲珑杯”线上赛 Round #15 河南专场 F -- 咸鱼文章
- “玲珑杯”线上赛 Round #15 河南专场 G -- 咸鱼拷问 RMQ
- 玲珑杯----C 咸鱼魔法记
- ssh connection refused 解决办法
- shell脚本杂记
- zookeeper简单安装
- 软件工程(C编码实践篇)课程总结
- IIS日志自动删除 bat脚本
- “玲珑杯”线上赛 Round #15 咸鱼魔法记(尺取法)
- Struts2中配置默认Action
- Java 多线程并发编程之互斥锁 Reentrant Lock
- unity3d中OnMouseEnter事件没有反应的解决办法
- MySQL 代替in/not in 的sql语句
- SDUT-1206 求三角形面积
- freemarker入门大全
- msmtp详细安装及使用
- 基于Retrofit、OkHttp、Gson封装通用网络框架