Cod sursa(job #654021)

Utilizator dutzulBodnariuc Dan Alexandru dutzul Data 29 decembrie 2011 13:31:30
Problema Elimin Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.06 kb
#include <fstream>
#include <algorithm>
#include <cstdlib>
#include <ctime>
#define el 400
using namespace std;
ifstream f("elimin.in");
ofstream g("elimin.out");
int n,m,l,c,i,j,es,s,col[el],a[el][el],coli[el],smax,t,v[el],poz;
int main()
{
        f>>n>>m>>l>>c;
        for(i=1; i<=n; i++)
                for(j=1; j<=m; j++) f>>a[i][j];

        for(i=1; i<=n; i++)
                for(j=1; j<=m; j++) coli[j]+=a[i][j];
        srand(time(0));


        for(t=1; t<=3000; t++) {
                for(i=1; i<=m; i++) col[i]=coli[i];

                for(i=1; i<=n; i++) v[i]=0;

                for(poz=rand()%n+1; s<l; poz=rand()%n+1)
                        if (v[poz]==0) v[poz]=1,s++;

                for(i=1; i<=n; i++)
                        if (v[i]==1) for(j=1; j<=m; j++)  col[j]=col[j]-a[i][j];
                sort (col+1,col+n+1);
                for(i=c+1; i<=m; i++)
                        es+=col[i];
                smax=max(smax,es),es=0,s=0;
        }
g<<smax<<'\n';
        f.close();
        g.close();
        return 0;
}