Cod sursa(job #3365804)

Utilizator TudorMitMituca Tudor TudorMit Data 24 septembrie 2026 20:23:00
Problema Elimin Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.21 kb
#include <fstream>
#include <algorithm>
using namespace std;

ifstream cin("elimin.in");
ofstream cout("elimin.out");

int mat[100][7300];
int v[100],s[7300];

int main()
{
    int n,m,r,c,cnt,rez,maxr=0,ci;
    cin>>n>>m>>r>>c;
    if(n<=m){
        for(int i=1;i<=n;i++)
            for(int j=1;j<=m;j++)
                cin>>mat[i][j];
    }
    else{
        for(int j=n;j>=1;j--)
            for(int i=1;i<=m;i++)
                cin>>mat[i][j];
        swap(n,m);
        swap(r,c);
    }
    for(int i=0;i<(1<<n);i++){
        cnt=0;
        rez=0;
        ci=i;
        for(int j=1;j<=n;j++)
            v[j]=0;
        for(int j=1;j<=n;j++){
            v[j]=ci%2;
            ci=ci/2;
            if(v[j]==1)
                cnt++;
        }
        if(cnt==r){
            for(int j=1;j<=m;j++)
                s[j]=0;
            for(int j=1;j<=n;j++)
                if(v[j]==0)
                    for(int y=1;y<=m;y++)
                        s[y]+=mat[j][y];
            sort(s+1,s+m+1);
            rez=0;
            for(int j=m;j>c;j--)
                rez+=s[j];
            if(maxr<rez)
                maxr=rez;
        }
    }
    cout<<maxr;
    return 0;
}