• 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;
    }


  • 相关阅读:
    前端和后端的区别和分工
    IntelliJ和tomcat中的目录结构
    JAVA开发环境和IntelliJ工具安装
    Linux下Python+Selenium自动化模拟用户登录(备注:记录一次强行卸载rpm依赖包,引发的rpm、yum等命令异常,无法远程xftp工具)
    Docker 操作命令梳理(镜像下载、容器创建、Dockerfile)
    Centos 6.6 Docker安装(内网坏境)
    C# 连接Access2010 数据库之初探
    C#使用NLog记录日志
    现实两种
    C#中的两把双刃剑:抽象类和接口
  • 原文地址:https://www.cnblogs.com/zsychanpin/p/6919643.html
Copyright © 2020-2023  润新知