#include <iostream>
#include <set>
typedef long long ll;
int main()
{
std::multiset<ll> st;
{
int n;
ll population;
std::cin >> n;
for(int i = 0; i < n; ++i)
{
std::cin >> population;
st.insert(population);
}
}
ll result = 0;
while(st.size() > 1)
{
ll a = *st.begin();
ll b = *(++st.begin());
st.erase(st.begin());
st.erase(st.begin());
a += b;
result += a;
st.insert(a);
}
std::cout << result;
return 0;
}
Объяснение:
Решил не я!
#include <iostream>
#include <vector>
using namespace std;
int main() {
int m, n, x, y;
cin >> m >> n;
int a[m][n];
for (int i = 0; i < m; ++i) {
for(int j = 0; j < n; ++j) {
int v;
cin >> v;
a[i][j] = v;
}
}
int d;
int value = 0;
cin >> d;
for (int i = 0; i < d; ++i) {
cin >> x >> y;
value += a[x - 1][y - 1];
a[x - 1][y - 1] = 0;
}
cout << value;
return 0;
}
Объяснение:
Считываем матрицу. потом смотрим по каким клеткам ходит мудрец и складываем значения с клеток в отдельную переменную. там, где мудрец побывал, клетку матрицы заменяем на 0.
P. s. Если , жмякните на " " .
var n,m,h:integer;
begin
readln (n);
readln (m);
readln (h);
if m mod (h div n)=0 then write (m div (h div n))
else write (m div (h div n)+1)
end.