857 2022. 01. 21 09:52:56 kicsiboglar Dinamit cpp11 Elfogadva 50/50 104ms 2888 KiB
#include <iostream>
#include <vector>
#include <algorithm>
#include <climits>
#include <cmath>
#define ll long long 

using namespace std;

ll n, m, i, j, k, l, p, o;

int main()
{
    cin >> n >> m >> k;
 
    vector <vector<ll> > terkep(n+1, vector<ll>(m+1, INT_MAX));
    for (i = 1; i <= n; ++ i)
    {
        for (j = 1; j <= m; ++j) cin >> terkep[i][j];
    }

    vector <vector<vector<ll> > > mini(n + 1, vector<vector<ll> >(m + 1, vector<ll>(k + 1, INT_MAX)));
    ll actut = 0;
    mini[1][0][0] = 0;
    for (i = 1; i <= n; ++i)
    {
        for (j = 1; j <= m; ++j)
        {
            for (o = 0; o <= k; ++o)
            {
                for (p = 0; p <= k - o; ++p)
                {
                    actut = min(mini[i - 1][j][o] + terkep[i][j] / pow(2, p), mini[i][j - 1][o] + terkep[i][j] / pow(2, p));
                    mini[i][j][o + p] = min(mini[i][j][o + p], actut);
                }
            }
        }
    }
    cout << mini[n][m][k];
    return 0;

}

Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 2ms 1744 KiB
2 Elfogadva 0/0 92ms 2760 KiB
3 Elfogadva 2/2 2ms 1960 KiB
4 Elfogadva 2/2 2ms 1972 KiB
5 Elfogadva 3/3 2ms 1988 KiB
6 Elfogadva 3/3 2ms 2000 KiB
7 Elfogadva 2/2 92ms 2796 KiB
8 Elfogadva 3/3 103ms 2768 KiB
9 Elfogadva 2/2 10ms 1980 KiB
10 Elfogadva 2/2 8ms 1984 KiB
11 Elfogadva 3/3 7ms 1984 KiB
12 Elfogadva 3/3 7ms 1988 KiB
13 Elfogadva 2/2 24ms 2244 KiB
14 Elfogadva 3/3 24ms 2248 KiB
15 Elfogadva 2/2 92ms 2808 KiB
16 Elfogadva 3/3 100ms 2820 KiB
17 Elfogadva 2/2 93ms 2828 KiB
18 Elfogadva 3/3 93ms 2840 KiB
19 Elfogadva 2/2 90ms 2852 KiB
20 Elfogadva 3/3 93ms 2864 KiB
21 Elfogadva 2/2 104ms 2876 KiB
22 Elfogadva 3/3 93ms 2888 KiB