Cod sursa(job #2442071)

Utilizator Narcis09Grecu Narcis Narcis09 Data 22 iulie 2019 16:39:40
Problema Elimin Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.07 kb
#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;
}