Pagini recente » Cod sursa (job #156327) | Cod sursa (job #2406374) | Cod sursa (job #3123050) | Cod sursa (job #1178589) | Cod sursa (job #3208002)
#include <iostream>
#include <vector>
#include <algorithm>
#include <fstream>
using namespace std;
int main() {
ifstream fin("flip.in");
ofstream fout("flip.out");
int N, M;
fin >> N >> M;
vector<vector<int>> mat(N, vector<int>(M));
for (int i = 0; i < N; ++i) {
for (int j = 0; j < M; ++j) {
fin >> mat[i][j];
}
}
int maxSum = 0;
for (int i = 0; i < N; ++i) {
sort(mat[i].begin(), mat[i].end(), greater<int>());
}
for (int j = 0; j < M; ++j) {
vector<int> col;
for (int i = 0; i < N; ++i) {
col.push_back(mat[i][j]);
}
sort(col.begin(), col.end(), greater<int>());
for (int i = 0; i < N; ++i) {
mat[i][j] = col[i];
}
}
for (int i = 0; i < N; ++i) {
for (int j = 0; j < M; ++j) {
maxSum += mat[i][j];
}
}
fout << maxSum << endl;
fin.close();
fout.close();
return 0;
}