Pagini recente » Borderou de evaluare (job #2050147) | Cod sursa (job #2399954) | Cod sursa (job #1490857) | Cod sursa (job #324104) | Cod sursa (job #2442071)
#include <fstream>
using namespace std;
ifstream cin("elimin.in");
ofstream cout("elimin.out");
struct s{
int suma, ord;
}l[1001], c[1001];
int a[1001][1001];
void elcol(int n,int &m,int k){
int i,j;
for (i=1;i<=n;i++)
for (j=k;j<m;j++)
a[i][j]=a[i][j+1];
m--;
}
void ellin(int &n, int m, int k){
int i, j;
for (j=1;j<=m;j++)
for (i=k;i<n;i++)
a[i][j]=a[i+1][j];
n--;
}
int main()
{
int n, m, i, j, r , q, s=0;
cin>>n>>m>>r>>q;
for (i=1;i<=n;i++){
for (j=1;j<=m;j++){
cin>>a[i][j];
l[i].suma+=a[i][j];
c[j].suma+=a[i][j];
c[j].ord=j;
s=s+a[i][j];
}
l[i].ord=i;
}
for (i=1;i<n;i++)
for (j=i+1;j<=n;j++)
if (l[i].suma>l[j].suma){
swap(l[i].suma, l[j].suma);
swap(l[i].ord, l[j].ord);
}
i=1; j=1;
while (r>0){
s=s-l[i].suma;
for (j=1;j<=m;j++)
c[j].suma-=a[l[i].ord][j];
i++;
r--;
}
for (i=1;i<m;i++)
for (j=i+1;j<=m;j++)
if (c[i].suma>c[j].suma){
swap(c[i].suma, c[j].suma);
swap(c[i].ord, c[j].ord);
}
i=1;
while (q>0){
s=s-c[i].suma;
i++;
q--;
}
cout<<s;
cin.close();
cout.close();
return 0;
}