Cod sursa(job #3314985)

Utilizator TeodoRazvanStancu Teodor-Razvan TeodoRazvan Data 11 octombrie 2025 18:47:36
Problema Elimin Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.03 kb
#include <bits/stdc++.h>
#include <fstream>

using namespace std;

ifstream fin("elimin.in");
ofstream fout("elimin.out");

int n,m,a[555][555],rez,r,c;
vector<int>x;

void procesare1(){
    vector<bool>t(n+1,false);
    for(int i=1;i<=r;i++) t[x[i]]=1;
    int sum=0;
    vector<int>sc;
    for(int j=1;j<=m;j++){
        int csum=0;
        for(int i=1;i<=n;i++){
            if(!t[i]) csum+=a[i][j];
        }
        sc.push_back(csum);
    }
    sort(sc.begin(),sc.end());
    for(int i=c;i<sc.size();i++) sum+=sc[i];
    rez=max(rez,sum);
}

void back1(int step){
    if(step>r){
        procesare1();
        return;
    }
    for(int i=x[step-1]+1;i<=n-r+step;i++){
        x[step]=i;
        back1(step+1);
    }
}

int main(){
    fin>>n>>m>>r>>c;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            fin>>a[i][j];
        }
    }
    if(n<=m){
        x.resize(n+1);
        back1(1);
        fout<<rez;
    }
    return 0;
}
/**

3 3 1 1
8 1 2
6 1 4
0 9 0

**/