Codeforces Round #431 (Div. 2)

奇数子序列划分问题
本文探讨了一个关于整数序列的算法问题,目标是判断是否能将给定序列分割成奇数个、长度为奇数且两端均为奇数的连续子序列。提供了问题背景、输入输出说明及示例,并附带了简洁的C++实现代码。
A. Odds and Ends
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

Where do odds begin, and where do they end? Where does hope emerge, and will they ever break?

Given an integer sequence a1, a2, ..., an of length n. Decide whether it is possible to divide it into an odd number of non-empty subsegments, the each of which has an odd length and begins and ends with odd numbers.

A subsegment is a contiguous slice of the whole sequence. For example, {3, 4, 5} and {1} are subsegments of sequence {1, 2, 3, 4, 5, 6}, while {1, 2, 4} and {7} are not.

Input

The first line of input contains a non-negative integer n (1 ≤ n ≤ 100) — the length of the sequence.

The second line contains n space-separated non-negative integers a1, a2, ..., an (0 ≤ ai ≤ 100) — the elements of the sequence.

Output

Output "Yes" if it's possible to fulfill the requirements, and "No" otherwise.

You can output each letter in any case (upper or lower).

Examples
Input
3
1 3 5
Output
Yes
Input
5
1 0 1 5 1
Output
Yes
Input
3
4 3 1
Output
No
Input
4
3 9 9 3
Output
No
Note

In the first example, divide the sequence into 1 subsegment: {1, 3, 5} and the requirements will be met.

In the second example, divide the sequence into 3 subsegments: {1, 0, 1}, {5}, {1}.

In the third example, one of the subsegments must start with 4 which is an even number, thus the requirements cannot be met.

In the fourth example, the sequence can be divided into 2 subsegments: {3, 9, 9}, {3}, but this is not a valid solution because 2 is an even number.

 老早的了,一直忘了贴。
思路:思维题。

代码

 1 #include<iostream>
 2 #include<string.h>
 3 using namespace std;
 4 int a[150];
 5 int main(){
 6     int n;
 7     cin>>n;
 8     for(int i=0;i<n;i++){
 9         cin>>a[i];
10     }
11     if(n%2==0) cout<<"No"<<endl;
12     else{
13         if(a[0]%2==1&&a[n-1]%2==1){
14             cout<<"Yes"<<endl;
15         }else{
16             cout<<"No"<<endl;
17         }
18     }
19     return 0;
20 }

 

转载于:https://www.cnblogs.com/ISGuXing/p/7497251.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值