首页 > 其他 > 详细

AtCoder Beginner Contest 210(D)

时间:2021-07-17 23:56:29      阅读:31      评论:0      收藏:0      [点我收藏+]
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,m,C,a[1005][1005],b[1005][1005],ans=1e18;
int main(){
    cin>>n>>m>>C,memset(b,0x3f,sizeof(b));
    for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)cin>>a[i][j];
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            b[i][j]=min(b[i-1][j],b[i][j-1]);
            ans=min(ans,a[i][j]+C*(i+j)+b[i][j]);
            b[i][j]=min(b[i][j],a[i][j]-C*i-C*j);
        }
    }
    memset(b,0x3f,sizeof(b));
    for(int i=1;i<=n;i++){
        for(int j=m;j>=1;j--){
            b[i][j]=min(b[i-1][j],b[i][j+1]);
            ans=min(ans,a[i][j]+C*(i-j)+b[i][j]);
            b[i][j]=min(b[i][j],a[i][j]-C*i+C*j);
        }
    }
    cout<<ans;
}

 

AtCoder Beginner Contest 210(D)

原文:https://www.cnblogs.com/qq1415584788/p/15025247.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!