第3个过不了,为啥呢?
查看原帖
第3个过不了,为啥呢?
1108048
NPST楼主2023/11/11 00:51
#include<iostream>
#include<algorithm>
using namespace std;

int arr[200005];
int brr[200005];
int sum[200005];
int main(){
    int n,m;
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        cin>>arr[i];
    }
    for(int i=1;i<=m;i++){
        cin>>brr[i];
    }
    reverse(arr+1,arr+1+n);
    reverse(brr+1,brr+1+m);
    int Max=max(n,m);
    for(int i=1;i<=Max;i++){
        int jinWei=i+1;
        if(arr[i]+brr[i]>=jinWei){
            sum[i]=(arr[i]+brr[i])%jinWei;
            arr[i+1]=arr[i+1]+1;
            if(i+1==Max)
            sum[Max]==arr[i+1]+brr[i+1];
           // if(sum[Max+1]>=i+2) sum[Max+1]=1;
        }
        else
        sum[i]=arr[i]+brr[i];
    }

    while (Max >1 && sum[Max] == 0) {
      Max--;  // 找到最高位//最高位为零的情况考虑
    }
   
    for(int i=Max;i>=1;i--){
        cout<<sum[i]<<' ';
    }

    return 0;
}
2023/11/11 00:51
加载中...