290 | 2021. 07. 18 20:25:59 | Szin Attila | Dinamit | cpp14 | Hibás válasz 23/50 | 4ms | 2344 KiB |
#include <bits/stdc++.h>
using namespace std;
void printq(priority_queue<int> q)
{
cout << "queue: ";
while(!q.empty()){
cout << q.top() << " ";
q.pop();
}
cout << "\n";
}
int main() {
int n,m,k;
cin >> n >> m >> k;
vector<vector<int> > tabla, dp(n+1, vector<int>(m, 0));
priority_queue<int> mo;
for(int i = 0; i < n; i++) {
vector<int> v;
for(int j = 0; j < m; j++) {
int x;
cin >> x;
v.push_back(x);
}
tabla.push_back(v);
}
dp[0][0] = tabla[0][0];
for(int i = 1; i < n; i++) {
dp[i][0] = tabla[i][0] + dp[i-1][0];
}
for(int i = 1; i < m; i++) {
dp[0][i] = tabla[0][i] + dp[0][i-1];
}
for(int i = 1; i < n; i++) {
for(int j = 1; j < m; j++) {
dp[i][j] = min(dp[i-1][j], dp[i][j-1]) + tabla[i][j];
}
}
/*cout << "dp: " << "\n";
for(int i = 0; i < n; i++) {
for(int j = 0; j < m; j++) {
cout << dp[i][j] << " ";
}
cout << "\n";
}*/
int i = n-1, j = m-1;
while(i > 0 || j > 0)
{
//cout << "i: " << i << " j: " << j << " \n";
mo.push(tabla[i][j]);
if(i == 0) {
j--;
}
else if(j == 0) {
i--;
}
else {
if(dp[i-1][j] < dp[i][j-1]) {
i--;
}
else {
j--;
}
}
}
mo.push(tabla[i][j]);
//printq(mo);
while(k--) {
int curr = mo.top();
mo.pop();
mo.push(curr/2);
}
//printq(mo);
int ki = 0;
while(!mo.empty())
{
ki += mo.top();
mo.pop();
}
cout << ki << "\n";
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 23/50 | ||||||
1 | Elfogadva | 0/0 | 4ms | 1988 KiB | |||
2 | Hibás válasz | 0/0 | 2ms | 2100 KiB | |||
3 | Elfogadva | 2/2 | 2ms | 2144 KiB | |||
4 | Elfogadva | 2/2 | 2ms | 2164 KiB | |||
5 | Elfogadva | 3/3 | 2ms | 2172 KiB | |||
6 | Elfogadva | 3/3 | 2ms | 2184 KiB | |||
7 | Elfogadva | 2/2 | 2ms | 2200 KiB | |||
8 | Elfogadva | 3/3 | 2ms | 2212 KiB | |||
9 | Hibás válasz | 0/2 | 1ms | 2216 KiB | |||
10 | Elfogadva | 2/2 | 1ms | 2216 KiB | |||
11 | Elfogadva | 3/3 | 1ms | 2224 KiB | |||
12 | Hibás válasz | 0/3 | 1ms | 2224 KiB | |||
13 | Hibás válasz | 0/2 | 1ms | 2232 KiB | |||
14 | Elfogadva | 3/3 | 1ms | 2240 KiB | |||
15 | Hibás válasz | 0/2 | 2ms | 2256 KiB | |||
16 | Hibás válasz | 0/3 | 2ms | 2268 KiB | |||
17 | Hibás válasz | 0/2 | 2ms | 2276 KiB | |||
18 | Hibás válasz | 0/3 | 2ms | 2292 KiB | |||
19 | Hibás válasz | 0/2 | 2ms | 2300 KiB | |||
20 | Hibás válasz | 0/3 | 2ms | 2316 KiB | |||
21 | Hibás válasz | 0/2 | 2ms | 2332 KiB | |||
22 | Hibás válasz | 0/3 | 2ms | 2344 KiB |