-1
ハッカークランク(https://www.hackerrank.com/challenges/maxsubarray)の最大部分配列問題を解決しました。コードブロック上でうまく動作します。しかし、私は自分のソリューションを提出すると、彼らのコンソールで別の答えを与える。ハッカーブランクの解が一致しない
#include<bits/stdc++.h>
using namespace std;
int main() {
int no,n,i;
cin>>no;
while(no--){
int arr[100001]={0},arr1[100001]={0};
cin>>n;
for(i=0;i<n;i++)
cin>>arr[i];
arr1[0]=arr[0];
int maxi=arr[0];
for(i=1;i<n;i++){
if(arr[i]+arr1[i-1]>arr[i]){
arr1[i]=arr[i]+arr1[i-1];
}
else{
arr1[i]=arr[i];
}
if(arr1[i]>maxi)
maxi=arr1[i];
}
cout<<maxi<<" ";
sort(arr,arr+n);
int sum=0,i=n-1;
while(arr[i]>0)
sum+=arr[i--];
if(sum==0)
sum=arr[i];
cout<<sum<<endl;
}
return 0;
}
誰でも解決策を提供できますか?
ローカルマシンとハッカーで取得している出力を共有する –