P4445 [AHOI2018初中组]报名签到

P4445 [AHOI2018初中组]报名签到_第1张图片

  • 忘了开long long,白白WA了三个点hhh,记得开郎朗^ _ ^
#include
using namespace std;
long long tot;
int main()
{
    int n;cin >> n;
    int* a = new int[n+5];
    for(int i = 1;i <= n;i++)
        cin >> a[i];
    for(int i = 1;i < n;i++)
        {
            if(a[i] > a[i+1])
                tot+=a[i];
            else
            {
                tot+=a[i+1];
            }
            
        }
    cout << tot;
}

大佬

python

n=int(input()) #输入第一行
l=map(int,input().split(' ')) #输入第二行
lis=list(l)
ans=0 #计数器设为0
for x in range(1,n):
    ans=ans+max(lis[x],lis[x-1]) #思路第二步
print (ans) #输出

滚动数组

只需要比较两个人之间的距离
滚动数组可以很大程度上节省空间

#include
using namespace std;
int main(){
    long long a[2],n,sum,tmp;
    cin>>n;a[0]=a[1]=0;
    cin>>a[0];
    for(int i=1;i<n;i++){tmp=i%2;cin>>a[tmp];sum+=max(a[0],a[1]);}
    cout<<sum<<endl;
    return 0;
}

你可能感兴趣的:(#,洛谷)