Cod sursa(job #1148343)

Utilizator cristibogdanPatrascu Cristian cristibogdan Data 20 martie 2014 18:13:27
Problema Elimin Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.43 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("elimin.in");
ofstream g("elimin.out");
int tot,o,n,m,a[7300][7300],i,nr,r,c,j,s,v[90],t,T,tmax,b[7300][7300];
int main()
{  f>>m>>n>>r>>c;
     if(n<=m){
            o=n;
            n=m;
            m=o;
            for(i=1;i<=n;i++)
        for(j=1;j<=m;j++){
            f>>a[i][j];
            tot=tot+a[i][j];}
}
else

    for(i=1;i<=m;i++)
        for(j=1;j<=n;j++){
            f>>a[i][j];
            tot=tot+a[i][j];}


    while(a[0][n+1]==0){

            for(i=1;i<=n+1;i++)
                    {if(a[0][i]==1){
                        a[0][i]=0;
                            nr--;}
                        else{
                            a[0][i]=1;
                             nr++;
                                break;

                        }}


             if(nr==c&&a[0][n+1]==0){T=tot;
                for(i=1;i<=n;i++)
                    if(a[0][i]==1)
                        for(j=1;j<=m;j++){
                            T=T-a[j][i];
                            }

         for(i=1;i<=m;i++){
                s=0;
                for(j=1;j<=n;j++)
                    s=s+a[i][j]*(1-a[0][j]);
                v[i]=s;}
            sort(v+1,v+n+1);
                for(t=1;t<=r;t++)
                        T=T-v[t];
            if(T>tmax)
                tmax=T;}


    }
        g<<tmax;
    return 0;
}