D. 连续最大积吗 为什么要留代码呢 因为我缝缝补补的就过了 也不知道咋回事
来源:互联网 发布:java面对对象经典案例 编辑:程序博客网 时间:2024/05/01 04:45
#include <iostream>
using namespace std;
int a[10005];
int main()
{
int n;
cin>>n;
int t=0;
while(n--)
{
int m;
cin>>m;
int i;
for(i=0;i<m;i++)
cin>>a[i];
int x=0,y=0,z=0,l;
for(i=0;i<m;i++)
{
if(a[i]==2) x=x+1;
if(a[i]==-2) y=y+1;
if(a[i]!=0) l=i;
if(a[i]==0||i==m-1&&x+y!=0)
{
if(y%2==0&&z<x+y) z=x+y;
if(y%2!=0&&x==0&&z<y-1) z=y-1;
if(y%2!=0&&x>0)
{
int j,c=0;
j=i-x-y;
if(j<0) j=0;
int q=0,w=0;
for(;j<i;j++)
{
c=c+1;
if(a[j]==-2)
{
w=x+y-c;
break;
}
}
c=0;
if(i==m-1&&a[i]!=0) j=i;
else j=i-1;
for(;j>=i-x-y;j--)
{
c=c+1;
if(a[j]==-2)
{
q=x+y-c;
break;
}
}
int h;
h=w>q?w:q;
if(z<h) z=h;
}x=0;
y=0;
}
}
t=t+1;
cout<<"Case #"<<t<<": "<<z<<endl;
}
return 0;
using namespace std;
int a[10005];
int main()
{
int n;
cin>>n;
int t=0;
while(n--)
{
int m;
cin>>m;
int i;
for(i=0;i<m;i++)
cin>>a[i];
int x=0,y=0,z=0,l;
for(i=0;i<m;i++)
{
if(a[i]==2) x=x+1;
if(a[i]==-2) y=y+1;
if(a[i]!=0) l=i;
if(a[i]==0||i==m-1&&x+y!=0)
{
if(y%2==0&&z<x+y) z=x+y;
if(y%2!=0&&x==0&&z<y-1) z=y-1;
if(y%2!=0&&x>0)
{
int j,c=0;
j=i-x-y;
if(j<0) j=0;
int q=0,w=0;
for(;j<i;j++)
{
c=c+1;
if(a[j]==-2)
{
w=x+y-c;
break;
}
}
c=0;
if(i==m-1&&a[i]!=0) j=i;
else j=i-1;
for(;j>=i-x-y;j--)
{
c=c+1;
if(a[j]==-2)
{
q=x+y-c;
break;
}
}
int h;
h=w>q?w:q;
if(z<h) z=h;
}x=0;
y=0;
}
}
t=t+1;
cout<<"Case #"<<t<<": "<<z<<endl;
}
return 0;
}
D. 连续最大积
Time Limit: 1000ms
Memory Limit: 32768KB
64-bit integer IO format: Java class name:Submit Status PID: 3550
小明和他的好朋友小西在玩一个游戏,由电脑随机生成一个由-2,0,2三个数组成的数组,并且约定,谁先算出这个数组中某一段连续元素的积的最大值,就算谁赢!
比如我们有如下随机数组:
2 2 0 -2 0 2 2 -2 -2 0
在这个数组的众多连续子序列中,2 2 -2 -2这个连续子序列的积为最大。
现在小明请你帮忙算出这个最大值。
比如我们有如下随机数组:
2 2 0 -2 0 2 2 -2 -2 0
在这个数组的众多连续子序列中,2 2 -2 -2这个连续子序列的积为最大。
现在小明请你帮忙算出这个最大值。
Input
第一行输入一个正整数T,表示总共有T组数据(T <= 200)。
接下来的T组数据,每组数据第一行输入N,表示数组的元素总个数(1<= N <= 10000)。
再接下来输入N个由0,-2,2组成的元素,元素之间用空格分开。
接下来的T组数据,每组数据第一行输入N,表示数组的元素总个数(1<= N <= 10000)。
再接下来输入N个由0,-2,2组成的元素,元素之间用空格分开。
Output
对于每组数据,先输出Case数。
如果最终的答案小于等于0,直接输出0
否则若答案是2^x ,输出x即可。
每组数据占一行,具体输出格式参见样例。
如果最终的答案小于等于0,直接输出0
否则若答案是2^x ,输出x即可。
每组数据占一行,具体输出格式参见样例。
Sample Input
22-2 0102 2 0 -2 0 2 2 -2 -2 0
Sample Output
Case #1: 0Case #2: 4
0 0
- D. 连续最大积吗 为什么要留代码呢 因为我缝缝补补的就过了 也不知道咋回事
- 别问我为什么开通了这个新的博客,其实我也不知道
- 为什么打死我,我也不开源,因为我开源了,对大家都没啥好处,打击一大片人,损人也不利己的事情我从不干
- 为什么打死我,我也不开源,因为我开源了,对大家都没啥好处,打击一大片人,损人也不利己的事情我从不干
- 我原来装过MSDN,因为重装了系统,不知道原来的MSDN还能用吗?(不重装msdn)
- 我都不知道我为什么要在JAVA过了巅峰的时候学习JAVA-_-!
- 我为什么那么喜欢呆在实验室,因为我知道我错过就再也没有机会
- myelipcse 不编译 的问题2: 我也不知道为什么
- 为什么我复制到system/app下了,就是用不了呢!因为什么呢?
- 今天的我好心痛,调了好久的代码却一直没调好,就因为。。。。。。。。。。
- 多数人学习oracle,比如新建实例、使用net configuration assistant,上次我做过这个了,没有问题啊,为什么这次就遇到问题了呢?
- 为什么过了35岁就不适合做技术了呢?
- 为什么过了35岁就不适合做技术了呢?
- 为什么过了35岁就不适合做技术了呢?
- 为什么过了35岁就不适合做技术了呢?
- 为什么过了35岁就不适合做技术了呢?
- 为什么过了35岁就不适合做技术了呢?
- 为什么过了35岁就不适合做技术了呢?
- 第三周项目3——输出星号图(2)空心三角
- UITextField
- Nginx隐藏端口号详解
- 正则匹配所有文本以及在windows下的使用工具
- 随记
- D. 连续最大积吗 为什么要留代码呢 因为我缝缝补补的就过了 也不知道咋回事
- httpservlet详解
- 九度题目1083特殊乘法
- 密码强度等级
- 用JAVA(Myeclipse)实现可视化日历
- 23中java设计模式之单例模式
- 【BZOJ2813】奇妙的Fibonacci
- CodeForces - 630C Lucky Numbers
- 算法训练 Lift and Throw (DFS && 位运算)