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.|

RGB7886 - Электрон барааны дэлгүүр

Моника шинэ компьютерын гар, флаш дуртай дэлгүүрээсээ очиж авах гэж байна. Моникагийн үрж болох хамгийн их мөнгөн дүнг олно уу.

Хэрэв 2 барааг яагаад ч авч хүрэхгүй бол -1 гэж хэвлэнэ. (Яг нэг нэг флаш, гар авна)

Жишээлбэл Моникад b=60 хэмжээний мөнгө Дэлгүүрт 40,50,60 үнэтэй гарууд 5,8,12 үнэтэй флашууд байгаа бол

Моника 40-н гар 12-н флаш -г авахын оронд 50-н гар 8-н флашыг авна.

Оролт

Моникад байгаа мөнгө b дэлгүүрт байгаа гарын тоо m флашын тоо n хувьсагч нар эхний мөрөнд зайгаар тусгаарлагдан өгөгдөнө. (1<=n,m<=1000) (1<=b<=10^6)

Дараагийн мөрөнд m ширхэг гарын үнүүд зайгаар тусгаарлагдан өгөгдөнө.

Дараагийн мөрөнд n ширхэг флашын үнүүд зайгаар тусгаарлагдан өгөгдөнө. (Барааны үнэ 10^6 хэтрэхгүй)

Гаралт

Үрж болох хамгийн их мөнгөн дүнг хэвлэнэ.

Жишээ

Оролт 1

10 2 3

3 1

5 2 8

Гаралт 1

9

Оролт 2

5 1 1

4

5

Гаралт 2

-1

 

Орчуулсан : Дархан-Уул аймгийн Монгол-Оюу сургуулийн 11.1 ангийн сурагч Э.Цэлмэг 


Нэмсэн:Bataa
Огноо:2020-03-08
Хугацааны хязгаарлалт: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/electronics-shop/problem

hide comments
2022-11-27 10:18:09
hariu ni garna ghde spoj aldaa zaana haha
#include<iostream>
using namespace std;
main(){
int b,m,n,max;
int k[m], f[n], x[m*n];
cin>>b;
cin>>m;
cin>>n;
for (int i=0; i<m; i++)
{
cin>>k[i];
}
for(int j=0; j<n; j++)
{
cin>>f[j];
}
x[0]=-1;
for(int i=0; i<m; i++){
for(int j=0; j<n; j++){
for(int p=0; p<m*n; p++)
{
if(k[i]+f[j]<=b)
{
x[p]=k[i]+f[j];
}
}
}
}
max=x[0];
for(int i=0; i<m*n; i++){
if(max<x[i]){
max=x[i];
}
}


cout<<max;
return 0;
}
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.