Pagini recente » Cod sursa (job #1299250) | Atasamentele paginii Clasament preoji2014_0_10 | Diferente pentru problema/adunare intre reviziile 38 si 39 | Cod sursa (job #675019) | Cod sursa (job #2137344)
#include <iostream>
#include <cstdio>
#define NMAX 45005
using namespace std;
int N, M, X, dp[2][NMAX], summax;
void solve()
{
for(int k = 0; k <= summax; ++k) {
for(int i = 1; i <= N; ++i) {
for(int j = 1; j <= M; ++j) {
if(dp[k % 2][k - i*j] > 0)
dp[k % 2][k - i*j] = dp[!(k % 2)][k - i*j] + 1;
if(dp[k % 2][k + i*j] < summax + 1)
dp[k % 2][k + i*j] = dp[!(k % 2)][k + i*j] + 1;
}
}
}
}
int main()
{
freopen("diamant.in", "r", stdin);
freopen("diamant.out", "w", stdout);
scanf("%d %d %d", &N, &M, &X);
summax = N * (N + 1) * M * (M + 1) / 4;
solve();
printf("%d", dp[X % 2][X]);
return 0;
}