Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

RGB7750 - Хоёр массивын элементүүдийг сэлгэх

N ширхэг элементтэй A, B массивуудыг авч үзье. А массивын элементүүдийг дотор нь, мөн мөн В массивын элементүүдийг дотор нь сэлгэн байрыг өөрчилсний дүнд A’, B’ массивуудыг дараах нөхцөлтэйгээр үүсгэж болох эсэхийг тооцоолох шаардлагатай болсон.  Өөрөөр хэлбэл: A’[i]+B’[i]>=К буюу үүссэн хоёр массивын харгалзах элемент бүрийн нийлбэр нь өгөгдсөн К тооноос бүгд их байхаар үүсч болох эсэхийг тогтоохыг зорьж байгаа.

Жишээлбэл: А=[0,1],  B=[0,2]  K=1 гэж өгөгдсөн гэвэл A’=[0,1], B’=[ 2,0] гэж үүсгэвэл 0+2>=1, 1+0>=1 буюу ийм байдлаар үүсгэж болж байгаа нь харагдаж байна.

Тэгвэл чамд N ширхэг элемент бүхий ижил урттай A, B массивуудаас тогтох Q ширхэг асуулга бүхий тестүүд өгөгдсөн бол тэдгээр асуулга бүрд тухайн массивын элементүүдийг сэлгэн дээрх нөхцөлийг хангах A’, B’ массивыг үүсгэж болж байвал YES, үгүй бол NO гэж хэвлэнэ үү.

Оролтын хэлбэр:

Эхний мөрөнд асуулгын тоо Q тоо өгөгдөнө.

Асуулга бүр нь дараах 3 хэсгээс бүрдэнэ.

  • N, K тоонууд асуулгын эхний мөрөнд өгөгдөнө.
  • Асуулгын хоёрдугаар мөрөнд A массивын элементүүд
  • Асуулгын гуравдугаар мөрөнд B массивын элементүүд болох N ширхэг тоонууд тус тус зайгаар тусгаарлагдан өгөгдөнө.

Хязгаарлалт:

 1<=Q<=10

1<=N<=1000

1<=k<=10^9  (10-ийн 9 зэрэгт)

0<=A[i], B[i] <=10^9

Гаралтын хэлбэр:

Асуулга бүрд харгалзах YES, эсвэл NO гэсэн хариултыг тус бүр шинэ мөрөнд хэвлэнэ.

Жишээ Оролт

2

3 10

2 1 3

7 8 9

4 5

1 2 2 1

3 3 3 4

Жишээ Гаралт

YES

NO

Тайлбар:

Эхний асуулгын хувьд:

N= 3,  A=[2, 1, 3],   B=[7, 8, 9],  K=10 байна. Тэгвэл A’=[1,2,3]  B’=[9,8,7] гэж үүсгэвэл

1+9>=K,  2+8>=K,  3+7>=K гэсэн нөхцөлийг хангаж байгаа тул YES гэж хэвлэсэн байна.

Хоёрдугаар асуулгын хувьд:

N=4  K=5  A=[1, 2, 2, 1]  B=[3, 3, 3, 4]   байгаа тул B массивын 3 тооны ядаж аль нэг дээр А массивын 1 гэсэн тоо нэмэгдэж 4 болох нь гарцаагүй учраас бүх нийлбэр өгсөн нөхцөлийг хангаж чадахгүй болох нь харагдаж байгаа учраас NO гэсэн хариултыг хэвлэж байна.

 

Орчуулсан : Хөвсгөл аймгийн Ирээдүй сургуулийн багш Д.Батмөнх 


Нэмсэн:Bataa
Огноо:2020-03-22
Хугацааны хязгаарлалт:1s
Эх кодын хэмжээний хязгаарлалт:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Програмчлалын хэлүүд:ADA95 ASM32 ASM64 BASH BF C NCSHARP CSHARP C++ 4.3.2 CPP C99 CLPS LISP sbcl LISP clisp D ERL FORTRAN HASK ICON ICK JAVA JS-RHINO JULIA LUA NEM NICE OCAML PAS-GPC PAS-FPC PERL PHP PIKE PRLG-swi PYTHON PYPY3 PYTHON3 RUBY SCALA SCM guile ST TCL WHITESPACE
Эх сурвалж:https://www.hackerrank.com/challenges/two-arrays/problem

hide comments
2024-02-05 04:29:04
#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
#include <stdlib.h>
using namespace std;

int compare1(const void * a, const void * b)
{
return ( *(int*)b - *(int*)a );
}

int compare2(const void * a, const void * b)
{
return ( *(int*)a - *(int*)b );
}

int main() {
/* Enter your code here. Read input from STDIN. Print output to STDOUT */

long t;
long n, k;
long a[1000], b[1000];

cin>>t;

for(int i=0; i < t; i++)
{
cin>>n>>k;

for(int j=0; j<n; j++)
{
cin>>a[j];
}

qsort (a, n, sizeof(long), compare1);

for(int j=0; j<n; j++)
cin>>b[j];

qsort (b, n, sizeof(long), compare2);

bool flag=true;

for(int i=0; i<n; i++)
if(a[i]+b[i]<k)
{
flag = false;
break;
}

if(flag)
cout<<"YES\n";
else
cout<<"NO\n";
}

return 0;
}
2023-01-01 16:50:34
n
2023-01-01 16:49:30


Last edit: 2023-01-01 16:50:44
2022-11-17 12:33:15
bodoj chadsan amitan bnuU???? <:
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.