Cod sursa(job #2259219)

Utilizator NOSCOPEPROKENDYMACHEAMACUMVREAU NOSCOPEPROKENDY Data 13 octombrie 2018 10:35:40
Problema Elimin Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.3 kb
#include <fstream>

#include <cstring>

#include <algorithm>



using namespace std;



ifstream fin("elimin.in");

ofstream fout("elimin.out");



int a[3651][17];

int sub[3651];

int n,m,col,lin,i,j,smax,k,p,q;

bool fr[16];



int main()

{

    fin>>n>>m>>lin>>col;

    if(m>n)

    {



        for(i=1;i<=n;i++)

            for(j=1;j<=m;j++)

                fin>>a[j][i];

        swap(m,n);

        swap(col,lin);



    }

    else

        for(i=1;i<=n;i++)

            for(j=1;j<=m;j++)

                fin>>a[i][j];









    for(i=0;i<(1<<m);i++)

    {

        memset(fr,0,sizeof(fr));

        k=0;



        for(j=0;j<m;j++)

        {

            if(((i>>j)&1)==1)

                fr[j+1]=1,k++;



        }



        if(k==col)

            {

            for(p=1;p<=n;p++)

            {

                sub[p]=0;

                for(q=1;q<=m;q++)

                {

                    if(fr[q]!=1)

                        sub[p]+=a[p][q];

                }

            }

        sort(sub+1,sub+n+1);

        int s=0;

        for(j=lin+1;j<=n;j++)

              s+=sub[j];

        smax=max(s,smax);



        }

    }

    fout<<smax;

  return 0;

}