145742025-01-17 09:16:40csdavidDinamitcpp17Wrong answer 23/502ms548 KiB
#include <iostream>
#include <set>
using namespace std;

struct cella{
    int elozo;
    int mag, dp;
};

int main()
{
    multiset<int> s;
    int n, m, k, osszeg=0;
    cin >> n >> m >> k;
    cella a[n][m];
    for(int i=0; i<n; i++){
        for(int j=0; j<m; j++){
            cin >> a[i][j].mag;
            a[i][j].dp=a[i][j].mag;
        }
    }
    a[0][0].elozo=-1;
    for(int i=1; i<n; i++){
        a[i][0].dp+=a[i-1][0].dp;
        a[i][0].elozo=0;
    }
    for(int j=1; j<m; j++){
        a[0][j].dp+=a[0][j-1].dp;
        a[0][j].elozo=1;
    }
    for(int i=1; i<n; i++){
        for(int j=1; j<m; j++){
            if(a[i-1][j].dp<a[i][j-1].dp){
                a[i][j].dp+=a[i-1][j].dp;
                a[i][j].elozo=0;
            }
            else{
                a[i][j].dp+=a[i][j-1].dp;
                a[i][j].elozo=1;
            }
        }
    }
    int i=n-1, j=m-1;
    osszeg=a[i][j].dp;
    set<int>::iterator it;
    do{
        s.insert(a[i][j].mag);
        if(a[i][j].elozo==0){
            i--;
        }
        else if(a[i][j].elozo==1){
            j--;
        }
    }while(a[i][j].elozo!=-1);
    s.insert(a[0][0].mag);
    while(k--){
        it=s.end();
        --it;
        int x=*it;
        osszeg-=x;
        s.erase(it);
        x=x/2;
        osszeg+=x;
        s.insert(x);
    }
    cout << osszeg;
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base23/50
1Accepted0/01ms316 KiB
2Wrong answer0/02ms316 KiB
3Accepted2/22ms316 KiB
4Accepted2/22ms316 KiB
5Accepted3/32ms496 KiB
6Accepted3/32ms508 KiB
7Accepted2/22ms508 KiB
8Accepted3/32ms316 KiB
9Wrong answer0/21ms316 KiB
10Accepted2/21ms316 KiB
11Accepted3/31ms316 KiB
12Wrong answer0/31ms316 KiB
13Wrong answer0/21ms316 KiB
14Accepted3/31ms316 KiB
15Wrong answer0/22ms392 KiB
16Wrong answer0/31ms316 KiB
17Wrong answer0/22ms316 KiB
18Wrong answer0/32ms316 KiB
19Wrong answer0/22ms316 KiB
20Wrong answer0/32ms316 KiB
21Wrong answer0/22ms548 KiB
22Wrong answer0/32ms316 KiB