[ccAUG14] Chef and Gift

描述 Description

Today is chef’s friend’s birthday. He wants to give a gift to his friend. So he was desperately searching for some gift here and there. Fortunately, he found an array a of size n lying around. The array contains positive integers. Chef’s friend likes even numbers very much. So for the gift, chef will choose a consecutive non-empty segment of the array. The segment should contain exactly k even integers. Though it can have any number of odd integers.

He will then pick that segment and gift it to his friend.

But there is a problem. It might not be always possible for the chef to choose such a segment. Please tell whether it is possible for chef to select some gift or not?

输入格式 InputFormat

First line of the input contains a single integer T denoting number of test cases.

For each test case, first line contains two space separated integers n, k.

Next line contains n space separated integers denoting content of array a.

It is also guaranteed that all the numbers in the array a are distinct.

输出格式 OutputFormat

For each test case, print a single line containing “YES” or “NO” (without quotes) corresponding to the situation.

样例输入 SampleInput

4
2 1
1 2
3 2
2 6 5
3 3
2 4 5
4 2
1 2 4 5

样例输出 SampleOutput

YES
YES
NO
YES


CodeChef PRGIFT


水。

#include <stdio.h>
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
int i,j,t,n,m,l,r,k,z,y,x;
int T;
int main()
{
    scanf("%d",&T);
    while (T--)
    {
        scanf("%d%d",&n,&k);
        m=0;
        for (i=1;i<=n;i++) 
        {
            scanf("%d",&t);
            if (t%2==0) m++;
        }
        if ((m>=k && k>0) || (m!=n && k==0)) printf("YES\n");
        else printf("NO\n");
    }
    return 0;
}