Pagini recente » Cod sursa (job #2644502) | Cod sursa (job #2506512) | Cod sursa (job #500403) | Cod sursa (job #1507498) | Cod sursa (job #1847294)
#include <cstdio>
#include <climits>
#include <algorithm>
#define BIT(x) (1<<(x))
using namespace std;
typedef long long llong;
int mat[21][31];
int main()
{
freopen("cowfood.in", "r", stdin);
freopen("cowfood.out", "w", stdout);
llong rc, rez = 0;
int s, n, k, i, j, p, v[31], nb;
scanf("%d%d%d", &k, &s, &n);
s--;
for(i = 0; i < n; i++)
for(j = 0; j < k; j++)
scanf("%d", &mat[i][j]);
for(i = 1; i < BIT(n); i++)
{
nb = 0;
rc = 0;
for(p = 0; p < k; p++)
v[p] = 0;
for(j = 0; j < n; j++)
{
if(i & BIT(j))
{
nb++;
for(p = 0; p < k; p++)
{
v[p] = max(v[p], mat[i][p]);
}
}
}
for(p = 0; p < k; p++)
rc += s - v[p];
if(nb & 1) rez += rc;
else rez -= rc;
}
printf("%lld", rez);
return 0;
}