Codeforces 430B Balls Game(Two Pointers)
【题目链接】 http://codeforces.com/contest/430/problem/B
【题目大意】
祖玛游戏,给出一个序列,表示祖玛球的颜色序列,三个或者以上的球碰在一起就会发生消除,现在有一个颜色为x的球,问最多可以消除多少球。
【题解】
消除的球一定是连续的一段,因此我们可以枚举球射入的位置,然后向两边扩展,每次在已扩展的序列两边有三个相同颜色的球才能继续扩展,否则就停止,取每次枚举的最大值就是答案。
【代码】
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int n,k,x,ans,t[105];
int main(){
scanf("%d%d%d",&n,&k,&x);
for(int i=1;i<=n;i++)scanf("%d",&t[i]);
for(int i=0;i<=n;i++){
int L=i,R=i+1,cnt=1,cur=x,preL,preR;
while(1){
preL=L,preR=R;
while(L&&t[L]==cur){L--;cnt++;}
while(R<=n&&t[R]==cur){R++;cnt++;}
if(cnt<=2){L=preL;R=preR;break;}else cur=t[L],cnt=0;
}ans=max(ans,R-L-1);
}printf("%d",ans);
return 0;
}
Codeforces 430B Balls Game(Two Pointers)的更多相关文章
- codeforces 939E Maximize! 双指针(two pointers)
E. Maximize! time limit per test 3 seconds memory limit per test 256 megabytes input standard input ...
- Codeforces 828B Black Square(简单题)
Codeforces 828B Black Square(简单题) Description Polycarp has a checkered sheet of paper of size n × m. ...
- Codeforces C. Maximum Value(枚举二分)
题目描述: Maximum Value time limit per test 1 second memory limit per test 256 megabytes input standard ...
- CodeForces 215B Olympic Medal(数学啊)
题目链接:http://codeforces.com/problemset/problem/215/B Description The World Programming Olympics Medal ...
- CodeForces 993B Open Communication(STL 模拟)
https://codeforces.com/problemset/problem/993/b 这题不难,暴力就能过,主要是题意太难懂了 题意: 现在有两个人,每个人手中有一对数,第一个人手中的数是n ...
- Codeforces 1458E - Nim Shortcuts(博弈论+BIT)
Codeforces 题目传送门 & 洛谷题目传送门 首先看到这样的题我们不妨从最特殊的情况入手,再逐渐推广到一般的情况.考虑如果没有特殊点的情况,我们将每个可能的局面看作一个点 \((a,b ...
- Codeforces Round #516 Div2 (A~D)By cellur925
比赛传送门 A. Make a triangle! 题目大意:给你三根木棒,选出其中一根木棒增加它的长度,使构成三角形,问增加的长度最小是多少. 思路:签到题,根据样例/三角形性质不难发现,答案就是最 ...
- CodeForces - 1059C Sequence Transformation (GCD相关)
Let's call the following process a transformation of a sequence of length nn. If the sequence is emp ...
- Codeforces D. Powerful array(莫队)
题目描述: Problem Description An array of positive integers a1, a2, ..., an is given. Let us consider it ...
随机推荐
- iOS的推送机制APNs:本地推送&远程推送
本地推送: 本地推送主要应用在备忘录,闹钟等本地的,基于时间定时的消息提醒.本篇不做详细描述. 远程推送:APNS(苹果推送通知服务) iOS远程推送机制的原理及流程: 注册推送(橙色部分):若该Ap ...
- Android:res之selector背景选择器
selector根据不同的选定状态来定义不同的现实效果 常用属性: android:state_selected--------选中android:state_focused--------获得焦点a ...
- 工作备份 build.gradle
apply plugin: 'com.android.application' android { compileSdkVersion 22 buildToolsVersion '22.0.0' de ...
- subline text 3的模版设置
文件目录在这个地方,然后用St3打开,进行模版修改就行了
- php数据类型有哪些?
php数据类型有哪些?有三大类1.基本数据类型 1.1整型 $a = 0123; // 八进制数(是以0开头) 83 $a = 0x1A; // 十六进制数 26 1.2小数 ...
- linux文件名乱码解决办法
1.linux解压压缩文件乱码 unzip -O CP936 xxx.zip 2.一般文件用convmv sudo convmv -f gbk -t utf-8 -r --notest /your_d ...
- codeforces 659E . New Reform 强连通
题目链接 对于每一个联通块, 如果有一个强连通分量, 那么这个联通块对答案的贡献就是0. 否则对答案贡献是1. #include <iostream> #include <vecto ...
- J2SE知识点摘记(十二)
1. File类 下面的构造方法可以用来生成File对象 File(String directoryPath) geName()用于返回文件名,getParent()返回父目录名,exist ...
- Ajax与C#应用详细实例
实现刷新的方法主要是Ajax,本文档实现Ajax有两个方法(Jquery 和 W3C的JS方法):其次,使用JS也可以实现刷新数据不刷新页面(详见其他刷新页面方法JS实现):对于CallbackRef ...
- 一个简单的RTTI实现
RTTI是"Runtime Type Information"的缩写,意思是:运行时类型信息.它提供了运行时确定对象类型的方法. 最近在写的一些东西,不想使用MFC之类的框架,但是 ...