1 solutions

  • 1
    @ 2024-8-22 11:25:59
    #include<bits/stdc++.h>
    using namespace std;
    const int N=100010;
    int f[N][2];
    int a[N];
    int main()
    {
    	int n;
        cin>>n;
        memset(f,0xcf,sizeof f); //初始化无穷小 
        f[0][0]=0; //起点 
        for(int i=1;i<=n;i++)
        {
            cin>>a[i];
        }
        for(int i=1;i<=n;i++)
        {
            f[i][0]=max(f[i-1][0],f[i-1][1]); //第i个商铺不抢劫 
            f[i][1]=f[i-1][0]+a[i]; //抢劫第i个商铺 
        }
        cout<<max(f[n][0],f[n][1])<<endl;	
    }
    
    • 1

    Information

    ID
    1001
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    5
    Tags
    (None)
    # Submissions
    23
    Accepted
    13
    Uploaded By