

#include
#include
#include
using namespace std;
int main() {
constexpr auto mn = 100;
array mx{};
int n;
cin >> n;
for (auto i = 0; i < n; ++i) {
for (auto j = 0; j < n; ++j) {
cin >> mx[i][j];
}
}
auto flag = true;
for (auto i = 0; i < n; ++i) {
auto dig = static_cast(mx[i][i]);
auto sum = accumulate(mx[i].begin(), mx[i].end(), 0LL) - dig;
if (sum > dig) {
flag = !flag;
break;
}
}
puts(flag ? "YES" : "NO");
}
2) #include
#include
using namespace std;
int main() {
constexpr auto mn = 100;
array mx{};
int m, n;
cin >> m >> n;
for (auto i = 0; i < m; ++i) {
for (auto j = 0; j < n; ++j) {
cin >> mx[i][j];
}
}
size_t count = 0;
for (auto j = 0; j < n; ++j) {
auto flag = true;
for (auto i = 0; i < m; ++i) {
if (mx[i][j] & 1) {
flag = !flag;
break;
}
}
count += flag;
}
cout
#include
using namespace std;
int main()
{
int n, m, cnt, tmp;
cin >> n >> m; //ввод размеров
cnt = m; //начальное значение числа столбцов с четными числами
//для решения этой задачи числа хранить не нужно. Будем запоминать текщее состояние столбцов.
bool* chek = new bool[m] {}; //массив для хранения состояния столбцов (0 - норм, 1 - был нечет)
for (int i = 0; i< n; i++)
for (int j = 0; j < m; j++)
{
cin >> tmp; //ввод элемента
if (tmp % 2 && !chek[j]) --cnt; //если число нечетное а состояние столбца норм то уменьшеаем счетчик столбцов
chek[j] |= tmp % 2; //обновляем в текущем столбце состояние (чет его не меняет, нечет устанавливает в еденицу)
}
cout