Pagini recente » Rating Cioclea Aurelian Andrei (andreiu) | Cod sursa (job #144956) | Cod sursa (job #302807) | Cod sursa (job #183927) | Cod sursa (job #3041726)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("elimin.in");
ofstream o("elimin.out");
long long v[10000][10000],i,j,L,C,X,Y;
long long maxim=9223372036854775807;
int main()
{
f>>L>>C;
f>>X>>Y;
for (i=1;i<=L;i++)
for (j=1;j<=C;j++)
{ f>>v[i][j];
v[0][j]+=v[i][j];
v[i][0]+=v[i][j];
}
long long minim=v[1][0],poz=1;
for (i=1;i<=X;i++)
{ for (j=1;j<=L;j++) if (v[j][0]<minim){ minim= v[j][0]; poz=j;}
v[poz][0]=0;
minim=maxim;
for (j=1;j<=C;j++) v[0][j]-=v[poz][j];
}
for (i=1;i<=Y;i++)
{ for (j=1;j<=C;j++) if (v[0][j]<minim){ minim= v[0][j]; poz=j;}
v[0][poz]=0;
minim=maxim;
for (j=1;j<=C;j++) if (v[j][0]) v[j][0]-=v[j][poz];
}
long long suma=0;
for (i=1;i<=L;i++)
{ suma+=v[i][0];
}
o<<suma<<endl;
/*afisare
for (i=0;i<=L;i++)
{ for (j=0;j<=C;j++)
o<<v[i][j]<<" ";
o<<endl;
}
afisare*/
}