Cod sursa(job #2202139)

Utilizator IustinPetrariuIustinian Petrariu IustinPetrariu Data 7 mai 2018 18:22:11
Problema Elimin Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#define NMAX 101
using namespace std;
ifstream fin("elimin.in");
ofstream fout("elimin.out");
int a[NMAX][NMAX],BestSol,N,M,R,C,viz[NMAX],x[NMAX];
void suma()
{
    int viz[101]={0},l[101]={0};
    long long s=0;
    for(int i =1; i <= C; i++)
        viz[x[i]]=1;
    for(int i =1 ; i <= N; i++)
        for(int j =1 ;j <= M; j++)
         if(!viz[j]) l[i]+=a[i][j];
    sort(l+1,l+N+1);
    for(int i = R+1; i <= N; i++)
        s+=l[i];
    if(s>BestSol)
         BestSol=s;
}
void answer(int k)
{
    for(int i = x[k-1] + 1 ; i <= M; i++)
    {
         x[k]=i;
         if(k==C)
             suma();
         else
            answer(k+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];
    answer(1);
    fout<<BestSol;
    return 0;
}