Solução Iniciante Infomrmática - Semana 36

Solução

Esse problema embora pareça difícil, com uma ideia simples é possível resolvê-lo facilmente.

Para que haja solução, é necessário que o primeiro e o ultimo elemento do vetor sejam impares, senão haveria um subsegmento que termina/começa com númeors pares.

Também dá para ver que o número de elementos do vetor tem que ser ímpar, senão quando formos dividi-lo haverá ou um intervalo de tamanho par, ou um númeor par de intervalos.

Mas se o primeiro e o ultímo número, são ímpares, e o número de elementos for ímpar, então é possível dividi-lo em somente um segmento (um númeor ímpar), de 1 a n que começa com ímpar e termina com ímpar.

Então a resposta consiste em ver se o primeiro elemento é impar, se o últimos elemento é impar e ver se o número de elementos é impar. Se os três forem verdade, então  a resposta  é  SIM, senão é NAO.

Código:


#include <bits/stdc++.h>
using namespace std;
const int maxn = 110;
int v[maxn];
int main()
{
int n;
cin >> n;
for (int i = 0; i < n; i++) cin >> v[i];
if (n%2==1 and v[0]%2==1 and v[n-1]%2==1) cout << "Yes\n";
else cout << "No\n";
return 0;
}