Cod sursa(job #2314215)

Utilizator marian013Giugioiu Marian Constantin marian013 Data 8 ianuarie 2019 09:56:23
Problema Elimin Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.88 kb
#include<fstream>
#include <algorithm>
using namespace std;
ifstream f("elimin.in");
ofstream g("elimin.out");
long long maxim=0,m,n,r,c,a[1001][1001],v[1001],sc[1001];
int sum()
{
    int i,j,s=0;
    for(i=1;i<=m;i++)
        sc[i]=0;
    for(i=1;i<=n-r;i++)
        for(j=1;j<=m;j++)
        sc[j]+=a[v[i]][j];
    sort(sc+1,sc+m+1);
    for(i=m;i>c;i--)
        s+=sc[i];
    if(s>maxim)
        maxim=s;
}
void back(int k)
{
    int i;
    for(i=v[k-1]+1;i<=n;i++)
    {
        v[k]=i;
        if(k==n-r)
            sum();
        else
            back(k+1);
    }
}
int main()
{
    int i,j;
    f>>n>>m>>r>>c;
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
            if(n<m)
                f>>a[i][j];

            else
                f>>a[j][i];
    if(n > m){
        swap(r, c);
        swap(n, m);
    }
    back(1);
    g<<maxim;
}