Cod sursa(job #1942400)

Utilizator alex273Groza Alexandru alex273 Data 27 martie 2017 22:56:28
Problema Elimin Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include  <bits/stdc++.h>
using namespace std; 
ifstream in("elimin.in"); ofstream out("elimin.out");
int v[7300],m,n,r,a[7300][15],suma_i[7300];
int suma_maxima;
void bkt(int k,int c)
{
    
    if(!c)
    {         int suma=0;
             for (int i=1;i <=m;++i)   { suma_i[i]=0;
                 for(int j=1;j <=n;++j) if (!v[j]) suma_i[i]+=a[i][j];
       suma+=suma_i [i];
}
      sort(suma_i+1,suma_i+m+1);    
for (int i=1;i <=r;++i)    suma-=suma_i[i];
suma_maxima=max(suma_maxima,suma);        
    }
    else
    if(k<=n)
    {
        v[k]=1;
        bkt(k+1,c-1);
        v[k]=0;
        bkt(k+1,c);
    }
}
int main (){int c;
in>>m>>n>>r>>c;
if (n <=m){
for(int i=1;i <=m;++i)
for(int j=1;j <=n;++j) in>>a[i][j];
} else {for(int i=1;i <=m;++i)
for(int j=1;j <=n;++j) in>>a[j][i];
swap (m,n);swap (r,c);
}
bkt (1,c);
out<<suma_maxima; in.close(); out.close();
return 0;
}