Районная олимпиада по информатике. 2008-2009 учебный год.


Есеп C. Пайда

Ограничение по времени:
2 seconds
Ограничение по памяти:
64 megabytes

Компьютер процессор одақпен және монитормен құрулады. Қоймада $N$ процессор одақпен $M$ монитор болып жатыр. i-ші процессор одақтің бағасы – $A_i$ тугрик, j-ші монитордын бағасы – $B_j$ тугрик. Дүниежүзілік қаражаттық дағдарыс артынан, i-ші процессор одақпен және j-ші монитормен құрулған компьютердің бағасы $A_i$ ∙ $B_j$ (көбейту) тугрик болды. Сіздерге дәл осылай компьютерлердің ең үлкен мүмкін саны жинау керек, олардың барынша ең көп мүмкін болған жиынтық бағасы болу үшін.
Формат входного файла
Кіріс файлдың бірінші жолда екі бүтін сан тұрады $N$ және $M$ ($1 <= N, M <= 1000$). Екінші жолда $N$ бүтін сан тұрады: i-ші жолдағы сан $A_i$. Үшінші жолда $M$ бүтін сан тұрады: j-ші жолдағы сан $B_j$. ($1 <= A_i, B_j <= 1000$). Жолдағы сандар пробелмен арқылы бөлінген.
Формат выходного файла
Шығыс файлға екі бүтін сан жазылу керек – ең үлкен мүмкін компьютердің саны және олардың барынша ең көп мүмкін болған жиынтық бағасы.
Примеры:
Вход
3 2
1 2 3
4 5
Ответ
2 23
посмотреть в олимпиаде

Комментарий/решение:

  0
2018-12-08 17:57:30.0 #

кодты корсету/жасыру

пред. Правка 2   0
2022-01-18 11:12:57.0 #

DELETED

  0
2021-12-14 07:17:44.0 #

#include<bits/stdc++.h>

using namespace std;

int main()

{

ios_base::sync_with_stdio;

cin.tie(0);

cout.tie(0);

int cal=0;

int n,m;

cin>>n>>m;

vector <int> vec1;

vector <int> vec2;

for(int i=0;i<n;i++)

{

int a;

cin>>a;

vec1.push_back(a);

}

sort(vec1.begin(),vec1.end());

for(int i=0;i<m;i++)

{

int a;

cin>>a;

vec2.push_back(a);

}

sort(vec2.begin(),vec2.end());

if(vec1.size()>vec2.size())

{

while(vec1.size()>vec2.size()){

int i=0;

vec1.erase(vec1.begin() + 0);

}

for(int i=0;i<vec1.size();i++){

cal=cal+vec1[i]*vec2[i];

}

cout<<vec1.size()<<" "<<cal;

}

else if(vec2.size()>vec1.size())

{

while(vec2.size()>vec1.size()){

int i=0;

vec2.erase(vec2.begin() + 0);

}

for(int i=0;i<vec2.size();i++){

cal=cal+vec2[i]*vec1[i];

}

cout<<vec1.size()<<" "<<cal;

}

else

{

for(int i=0;i<vec2.size();i++){

cal=cal+vec2[i]*vec1[i];

}

cout<<vec1.size()<<" "<<cal;

}

}

  0
2022-01-03 10:35:02.0 #

кодты корсету/жасыру