Cod sursa(job #1148619)

Utilizator dorupopDoru Pop dorupop Data 20 martie 2014 22:22:21
Problema Elimin Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.25 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("elimin.in");
ofstream g("elimin.out");
int tot,o,n,m,a[8000][16],i,nr,r,c,j,s,v[8000],t,T,tmax,q[90],u,l;
int main()
{  f>>m>>n>>r>>c;

if(n<=m){

  for(i=1;i<=m;i++)
   for(j=1;j<=n;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[j][i];
    tot=tot+a[j][i];}
    o=m;
    m=n;
    n=o;
    o=r;r=c;c=o;}


tmax=0;

int ok=1;
    while(ok==1){
  ok=0;

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

                        }
                        }


             if(nr==c){

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


    }

        g<<tmax;
    return 0;
}