7982022-01-16 12:54:00Halasz EszterDinamitcpp11Futási hiba 0/503ms2296 KiB
#include <iostream>
//#include <fstream>
#include <vector>
#include <algorithm>
#define ll long long
using namespace std;

//ifstream cin("dinamit.in");
//ofstream cout("dinamit.out");

vector<ll>v;

ll n,m,i,j,x[101][101],y[101][101],d,db;

ll leker(ll i,ll j)
{
    if(i!=1 && j!=1)
    {
        if(y[i-1][j]<y[i][j-1]) leker(i-1,j);
        else leker(i,j-1);
    }
    v.push_back(x[i][j]);
}
ll has(ll a,ll b)
{
    if(a<b) return 0;
    else return 1;
}
int main()
{
    cin>>n>>m>>d;
    for(i=1;i<=n;++i)
        for(j=1;j<=m;++j) cin>>x[i][j];

    for(i=1;i<=m;++i) y[1][i]=y[1][i-1]+x[1][i];
    for(i=1;i<=n;++i) y[i][1]=y[i-1][1]+x[i][1];
    for(i=2;i<=n;++i)
    {
        for(j=2;j<=m;++j)
                y[i][j]=x[i][j]+min(y[i-1][j],y[i][j-1]);
    }

    v.push_back(x[1][1]);
    leker(n,m);



    sort(v.begin(),v.end(),has);

     //for(auto e:v) cout<<e<<"\n";

    while(d>0)
    {
        v[0]=v[0]/2;
        if(v[0]<v[1])
    sort(v.begin(),v.end(),has);
        d--;
    }
    for(auto e:v) db+=e;
    cout<<db;
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/50
1Futási hiba0/03ms1856 KiB
2Futási hiba0/02ms2044 KiB
3Futási hiba0/22ms2056 KiB
4Futási hiba0/22ms2068 KiB
5Futási hiba0/32ms2080 KiB
6Futási hiba0/32ms2140 KiB
7Futási hiba0/22ms2100 KiB
8Futási hiba0/32ms2132 KiB
9Futási hiba0/21ms2004 KiB
10Futási hiba0/21ms2036 KiB
11Futási hiba0/31ms2040 KiB
12Futási hiba0/31ms2036 KiB
13Futási hiba0/22ms2088 KiB
14Futási hiba0/31ms2084 KiB
15Futási hiba0/22ms2204 KiB
16Futási hiba0/32ms2180 KiB
17Futási hiba0/22ms2236 KiB
18Futási hiba0/32ms2248 KiB
19Futási hiba0/22ms2264 KiB
20Futási hiba0/32ms2276 KiB
21Futási hiba0/22ms2288 KiB
22Futási hiba0/32ms2296 KiB