DZY Loves Sequences
2015-07-16 16:22
288 查看
Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u
Submit Status Practice CodeForces 446A
Description
DZY has a sequence a, consisting of n integers.
We'll call a sequence ai, ai + 1, ..., aj(1 ≤ i ≤ j ≤ n) a subsegment of the sequence a. The value (j - i + 1) denotes the length of the subsegment.
Your task is to find the longest subsegment of a, such that it is possible to change at most one number (change one number to any integer you want) from the subsegment to make the subsegment strictly increasing.
You only need to output the length of the subsegment you find.
Input
The first line contains integer n (1 ≤ n ≤ 105). The next line contains n integers a1, a2, ..., an (1 ≤ ai ≤ 109).
Output
In a single line print the answer to the problem — the maximum length of the required subsegment.
Sample Input
Input
Output
Hint
You can choose subsegment a2, a3, a4, a5, a6 and change its 3rd element (that is a4) to 4.
代码有毒! 调了好久好久。
View Code
Submit Status Practice CodeForces 446A
Description
DZY has a sequence a, consisting of n integers.
We'll call a sequence ai, ai + 1, ..., aj(1 ≤ i ≤ j ≤ n) a subsegment of the sequence a. The value (j - i + 1) denotes the length of the subsegment.
Your task is to find the longest subsegment of a, such that it is possible to change at most one number (change one number to any integer you want) from the subsegment to make the subsegment strictly increasing.
You only need to output the length of the subsegment you find.
Input
The first line contains integer n (1 ≤ n ≤ 105). The next line contains n integers a1, a2, ..., an (1 ≤ ai ≤ 109).
Output
In a single line print the answer to the problem — the maximum length of the required subsegment.
Sample Input
Input
6 7 2 3 1 5 6
Output
5
Hint
You can choose subsegment a2, a3, a4, a5, a6 and change its 3rd element (that is a4) to 4.
代码有毒! 调了好久好久。
#include<stdio.h> #include<string.h> #include<algorithm> using namespace std; int main() { int i,j; int b[100005],c[100005]; int n,a[100005],ma; while(scanf("%d",&n)!=EOF) { memset(b,0,sizeof(b)); memset(a,0,sizeof(a)); memset(c,0,sizeof(c)); for(i=1;i<=n;i++) scanf("%d",&a[i]); ma=0; a[0]=0,a[n+1]=0,b[0]=0,b[n+1]=0,c[0]=0,c[n+1]=0; for(i=1;i<=n;i++) { if(a[i]>a[i-1]) b[i]=b[i-1]+1; else b[i]=1; if(b[i]>ma) ma=b[i]; } for(i=n;i>=1;i--) { if(a[i]<a[i+1]) c[i]=c[i+1]+1; else c[i]=1; if(c[i]>ma) ma=c[i]; } for(i=1;i<=n;i++) { if(a[i+1]-a[i-1]>=2) { ma=max(ma,b[i-1]+c[i+1]+1); } else { ma=max(ma,max(b[i-1]+1,c[i+1]+1)); } } printf("%d\n",ma); } return 0; }
View Code
相关文章推荐
- 解决MySQL连接超时Communications link failure due to underlying exception
- idea中配置使用mybatis出现问题BuilderException
- WCF问题集锦:ReadResponse failed: The server did not return a complete response for this request.
- valuestack,stackContext,ActionContext.之间的关系
- 自已实现一个UI库-UI核心绘图层管理
- Druid连接池简单入门配置
- 那些年我还不懂:IList,ICollection,IEnumerable,IEnumerator,IQueryable
- Function to use in Queries, Filters
- AFNetworking 2.0学习之AFURLRequestSerialization
- UGUI ScrollRect 优化
- 详解@Autowired、@Qualifier和@Required
- 自定义UITextField
- Android开发UI之补间动画-布局添加动画
- ios开发之uitextview及uitextfield获得焦点时弹出的自定义键盘及键盘上面的附加view设置
- poj1699--Best Sequence(dfs+剪枝)
- Android bluetooth介绍(两): android 蓝牙源架构和uart 至rfcomm过程
- Kettle解析JSON错误,We MUST have the same number of values for all paths,We can not find and data with path [$.
- SQLQuery不支持别名
- Android开发UI之自定义动画
- iOS7设置UINavigationBar的标题格式