zoukankan      html  css  js  c++  java
  • A. Arrays(Codeforces Round #317 水题)

    A. Arrays
    time limit per test
    2 seconds
    memory limit per test
    256 megabytes
    input
    standard input
    output
    standard output

    You are given two arrays A and B consisting of integers, sorted in non-decreasing order. Check whether it is possible to choose knumbers in array A and choose m numbers in array B so that any number chosen in the first array is strictly less than any number chosen in the second array.

    Input

    The first line contains two integers nA, nB (1 ≤ nA, nB ≤ 105), separated by a space — the sizes of arrays A and B, correspondingly.

    The second line contains two integers k and m (1 ≤ k ≤ nA, 1 ≤ m ≤ nB), separated by a space.

    The third line contains nA numbers a1, a2, ... anA ( - 109 ≤ a1 ≤ a2 ≤ ... ≤ anA ≤ 109), separated by spaces — elements of array A.

    The fourth line contains nB integers b1, b2, ... bnB ( - 109 ≤ b1 ≤ b2 ≤ ... ≤ bnB ≤ 109), separated by spaces — elements of array B.

    Output

    Print "YES" (without the quotes), if you can choose k numbers in array A and m numbers in array B so that any number chosen in arrayA was strictly less than any number chosen in array B. Otherwise, print "NO" (without the quotes).

    Sample test(s)
    input
    3 3
    2 1
    1 2 3
    3 4 5
    
    output
    YES
    
    input
    3 3
    3 3
    1 2 3
    3 4 5
    
    output
    NO
    
    input
    5 2
    3 1
    1 1 1 1 1
    2 2
    
    output
    YES
    
    Note

    In the first sample test you can, for example, choose numbers 1 and 2 from array A and number 3 from array B (1 < 3 and 2 < 3).

    In the second sample test the only way to choose k elements in the first array and m elements in the second one is to choose all numbers in both arrays, but then not all the numbers chosen in A will be less than all the numbers chosen in B.



    #include <iostream>
    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    #include <algorithm>
    
    using namespace std;
    int a[100100],b[100010];
    int n,m;
    int k,t;
    
    int main()
    {
        while(scanf("%d%d",&n,&m)!=EOF)
        {
            scanf("%d%d",&k,&t);
            for(int i=0; i<n; i++)
            {
                scanf("%d",&a[i]);
            }
            for(int i=0; i<m; i++)
            {
                scanf("%d",&b[i]);
            }
            if(a[k-1] < b[m-t])
            {
                printf("YES
    ");
            }
            else
            {
                printf("NO
    ");
            }
    
        }
        return 0;
    }


  • 相关阅读:
    bzoj 4566: [Haoi2016]找相同字符
    杜教筛模板
    bzoj 3772 :精神污染 线段树+打标记 or 主席树
    bzoj 3779: 重组病毒
    bzoj 3357: [Usaco2004]等差数列
    bzoj 3551: [ONTAK2010]Peaks加强版
    bzoj 4358: permu 莫队
    线段树分裂合并
    bzoj 3065 带插入区间k小值
    子串 [NOIP2015]
  • 原文地址:https://www.cnblogs.com/zsychanpin/p/6919643.html
Copyright © 2011-2022 走看看