Cod sursa(job #1461988)

Utilizator Mircea_DonciuDonciu Mircea Mircea_Donciu Data 16 iulie 2015 19:38:35
Problema Elimin Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.25 kb
#include <fstream>
#include <algorithm>
#include <cstring>
using namespace std;
ifstream f("elimin.in");
ofstream g("elimin.out");
int n,i,m,r,c,j,a[1000][20],v[20],s[1000],S,nr,sol, aux, b;
int main(){
    f>>n>>m>>r>>c;
    if(n<m){
        for(i=1;i<=n;i++){
            for(j=1;j<=m;j++){
                f>>a[j][i];
            }
        }
        swap(n,m);
        swap(r,c);
    }
    else{
        for(i=1;i<=n;i++){
            for(j=1;j<=m;j++){
                f>>a[i][j];
            }
        }
    }

    while(v[0]==0){
        j=m;
        while(v[j]==1){
            v[j]=0;
            j--;
        }
        v[j]=1;
        nr=0;
        for(i=1;i<=m;i++){
            if(v[i]==1){
                nr++;
            }
        }
        if(nr==c){
            for(i=1;i<=n;i++){
                for(j=1;j<=m;j++){
                    if(v[j]==0){
                        s[i]+=a[i][j];
                        S+=a[i][j];
                    }
                }
            }
            sort(s+1,s+n+1);
            for(i=1;i<=r;i++){
                S-=s[i];
            }
            sol=max(sol,S);
            S=0;
            memset(s,0,sizeof(s));
        }
    }
    g<<sol<<"\n";
    return 0;
}