第一题10分钟ac代码 #include<bits/stdc++.h> using namespace std; const int maxn=1e5+5; typedef long long ll; ll a[maxn][5]; ll dp[maxn][5]; int main(){ int n; cin>>n; for(int i=1;i<=3;i++){ for(int j=1;j<=n;j++){ scanf("%lld",&a[i][j]); } } memset(dp,0x3f3f3f3f,sizeof(dp)); dp[1][1]=0; dp[1][2]=0; dp[1][3]=0; for(int i=2;i<=n;i++){ for(int j=1;j<=3;j++){ dp[i][1]=min(dp[i][1],dp[i-1][j]+abs(a[j][i-1]-a[1][i])); dp[i][2]=min(dp[i][2],dp[i-1][j]+abs(a[j][i-1]-a[2][i])); dp[i][3]=min(dp[i][3],dp[i-1][j]+abs(a[j][i-1]-a[3][i])); } } ll ans=min(dp[n][1],min(dp[n][2],dp[n][3])); cout<<ans<<endl; return 0; } 第二题没给我反馈: 正确性不确定 https://pasteme.cn/31272

相关推荐

点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务