Cod sursa(job #1288274)

Utilizator gbibBacotiu Gabi gbib Data 8 decembrie 2014 18:43:04
Problema Elimin Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.04 kb
#include <fstream>
#include <algorithm>
#include <cstring>
using namespace std;
ifstream in("elimin.in");
ofstream out("elimin.out");
int a[7600][16],s[7600],bits[17];
int main()
{int i,n,m,r,c,j,bit,sum,mx=0,nb=0,mod;
in>>n>>m>>c>>r;
if(m>n)
{
    for(i=0;i<n;i++)
        for(j=0;j<m;j++)
            in>>a[j][i];
    swap(n,m);
    swap(r,c);
}
else
{
    for(i=0;i<n;i++)
        for(j=0;j<m;j++)
            in>>a[i][j];
}
for(mod=0;mod<(1<<m);mod++)
{
    memset(bits,0,sizeof(bits));
    nb=0;
    sum=0;
    for(i=1;i<m;i++)
    {
        if(mod&(1<<i))
        {
            bits[i]=1;
            nb++;
        }
    }
    if(nb==c)
    {
        memset(s,0,sizeof(s));
        for(i=0;i<n;i++)
        {
            for(j=0;j<m;j++)
            {
                if(!bits[j])
                {
                    s[i]+=a[i][j];
                }
            }
        }
        sort(s,s+n);
        for(i=r;i<n;i++)
        sum+=s[i];
        mx=max(mx,sum);
    }
}
out<<mx<<'\n';
    return 0;
}