Pagini recente » Statistici Silaghi Raul (Agent_Smith) | Cod sursa (job #2531368) | Istoria paginii problema/tv | Istoria paginii dot-com/2009/solutii/runda-2 | Cod sursa (job #6987)
Cod sursa(job #6987)
#include <fstream.h>
ifstream f1("elimin.in");
ofstream f2("elimin.out");
int main(){
int n,m,r,c,i,j,x[7300],y[7300],poz,max[7300];
int **a;
a=new int*[7300];
for (i=0;i<7300;i++)a[i]=new int[7300];
long long l[7300],p[7300],s,sum,min;
f1>>n;f1>>m;f1>>r;f1>>c;
sum=0;
for (i=1;i<=n;i++){
s=0;x[i]=1;max[i]=0;
for (j=1;j<=m;j++){
f1>>a[i][j];y[j]=1;
s=s+a[i][j];
if (a[i][j]>max[i])max[i]=a[i][j];
}
l[i]=s;
sum=sum+l[i];
}
for (j=1;j<=r;j++){
min=233600000;
for (i=1;i<=n;i++)if (x[i]==1&&l[i]<min){min=l[i];poz=i;}
else if (x[i]==1&&l[i]==min&&max[poz]<max[i]){min=l[i];poz=i;}
x[poz]=0;sum=sum-min;
}
for (j=1;j<=m;j++){
p[j]=0;
for (i=1;i<=n;i++){
p[j]=p[j]+a[i][j]*x[i];
}
}
for (i=1;i<=c;i++){
min=233600000;
for (j=1;j<=m;j++)if (y[j]==1&&p[j]<min){min=p[j];poz=j;}
y[poz]=0;sum=sum-min;
}
f2<<sum<<'\n';
/*
for (i=1;i<=n;i++)f2<<x[i]<<" ";
f2<<'\n';
for (j=1;j<=m;j++)f2<<y[j]<<" ";
*/
for (i=0;i<7300;i++)delete a[i];
f1.close();
f2.close();
return 0;
}