Cod sursa(job #1491983)

Utilizator cojocarugabiReality cojocarugabi Data 26 septembrie 2015 21:05:31
Problema Cowfood Scor 2
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
# include <bits/stdc++.h>
using namespace std;
const int mod = 3210121;
ifstream fi("cowfood.in");
ofstream fo("cowfood.out");
int v[44][44];
const int p_1[] = {1,-1};
int main(void)
{
    int n,sum,k;
    fi>>n>>sum>>k;
    for (int i = 0;i < n;++i)
        for (int j = 1;j <= k;++j)
            fi>>v[i][j];
    int tot = 1 << n;
    int ans = 0;
    for (int bit = 1;bit < tot;++bit)
    {
        int p[44];
        fill(p+1,p+k+1,(int)(1e5));
        int cnt = 0;
        for (int i = 0;i < n;++i) cnt += (bit >> i) & 1;
        for (int i = 0;i < n;++i)
            if ((bit >> i) & 1)
                for (int j = 1;j <= k;++j)
                        p[j] = min(p[j],v[i][j]);
        int ss = 1;
        for (int i = 1;i <= k;++i)
            ss = (1ll * ss * p[i]) % mod;
        ss = (ss + mod - 1) % mod;
        ans = (ans + mod + p_1[!(cnt&1)] * ss) % mod;
    }
    return fo << ans << '\n',0;
}