思路

移动石头

https://ac.nowcoder.com/acm/problem/21740

思路如果a[i]>b[i],就把多余的石头放到后面一堆,反之就从后面一堆拿,如果不能够完成的话n+1项肯定会被使用,即不为0,输出-1即可
#include"bits/stdc++.h"
using namespace std;
int n;
int a[55],b[55];
int main(){
    int n;
    cin>>n;
    for(int i=1;i<=n;i++){
        scanf("%d",&a[i]);
    }
    for(int i=1;i<=n;i++){
        scanf("%d",&b[i]);
    }
    int ans=0;
    for(int i=1;i<=n;i++){
        if(a[i]>b[i]){
            a[i+1]+=a[i]-b[i];
            ans+=a[i]-b[i];
        }
        if(a[i]<b[i]){
            a[i+1]-=b[i]-a[i];
            ans+=b[i]-a[i];
        }
    }
    if(a[n+1]!=0||b[n+1]!=0)
    cout<<"-1";
    else
    cout<<ans;
    return 0;
} 
全部评论

相关推荐

07-14 13:47
门头沟学院 Java
Lynn012:你评估好自己的位置了吗《顶尖应届》
投递小米集团等公司7个岗位
点赞 评论 收藏
分享
07-10 13:59
门头沟学院 Java
点赞 评论 收藏
分享
弦五Strings:他之所以会举报你代课是因为在这种人眼里正常上课就是正义代课就是邪恶,典型二极管思维,处理方法就是私下沟通,你就说你自己家里经济困难或者家里父母生病什么之类的,需要去打工挣钱,用尽孝的正义对冲他认为的上课的正义,他可能就妥协了。
我的实习日记
点赞 评论 收藏
分享
小浪_Coding:找硬件测试,也可兼顾软测欧, 简历还可以的 ,注意排版,项目写的有条理一点, 然后个人技能多加点, 润色好简历之后就开始沟通海投了,深圳,东莞这边做硬件相关的公司还不少, 医疗类,仪器类的都可以尝试
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务