Mai intai trebuie sa te autentifici.
Cod sursa(job #1673445)
Utilizator | Data | 3 aprilie 2016 20:03:54 | |
---|---|---|---|
Problema | Elimin | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.98 kb |
#include <fstream>
#include <algorithm>
#define sum first
#define poz second
using namespace std;
ifstream f("elimin.in");
ofstream g("elimin.out");
int n, m, l, c, x, s_col[7300];
long long sumMax;
short a[20][7300];
pair <int, int> s_lin[7300];
int main()
{
f >> n >> m >> l >> c;
for(int i = 1; i <= n; ++i)
for(int j = 1; j <= m; ++j){
f >> x;
if(n <= m){
a[i][j] = x;
s_lin[i].sum += x;
s_lin[i].poz = i;
s_col[j] += x;
}
else {
a[j][i] = x;
s_lin[j].sum += x;
s_lin[j].poz = j;
s_col[i] += x;
}
}
if(n > m) swap(n ,m), swap(l, c);
sort(s_lin + 1, s_lin + n + 1);
for(int i = 1; i <= l; ++i)
for(int j = 1; j <= m; ++j)
s_col[j] -= a[s_lin[i].poz][j];
sort(s_col + 1, s_col + n + 1);
for(int i = c + 1; i <= m; ++i) sumMax += s_col[i];
g << sumMax;
return 0;
}