京都大学プログラミングコンテスト2015

Submission #1276188

Source codeソースコード

#include<bits/stdc++.h>
using namespace std;

int main(){
    int n;
    cin>>n;
    vector<int> a(n);
    vector<int> b(n);
    for(int i=0;i<n;i++) cin>>a[i];
    for(int i=0;i<n;i++) cin>>b[i];
    const long long int INF=1e15;
    vector<pair<long long int,long long int>> dp(n+1,{INF,-INF});
    dp[0]={0,0};
    int maxb=b[0];
    for(int i=1;i<=n;i++){
        if(dp[i-1].first>=n){
            break;
        }
        if(dp[i-1].second+a[i-1]>=0){
            dp[i]={dp[i-1].first+1,dp[i-1].second+a[i-1]};
        }
        else{
            int lack=-(dp[i-1].second+a[i-1]);
            if(maxb<=0){
                break;
            }
            int day=lack/maxb+(lack%maxb!=0);
            dp[i]={dp[i-1].first+1+day,dp[i-1].second+a[i-1]+day*maxb};
        }
        if(i==n) break;
        maxb=max(maxb,b[i]);
    }
    maxb=b[0];
    long long int res=0;
    for(int i=0;i<=n;i++){
        if(dp[i].first>n) break;    
        res=max(res,dp[i].second+(n-dp[i].first)*bmax);
        if(i>=n-1) continue;
        maxb=max(maxb,b[i+1]);
    }
    cout<<res<<endl;
    return 0;
}

Submission

Task問題 D - 高橋君の旅行
User nameユーザ名 nikutto
Created time投稿日時
Language言語 C++14 (GCC 5.4.1)
Status状態 CE
Score得点 -
Source lengthソースコード長 1142 Byte
File nameファイル名
Exec time実行時間 -
Memory usageメモリ使用量 -

Compiler messageコンパイルメッセージ

./Main.cpp: In function ‘int main()’:
./Main.cpp:37:50: error: ‘bmax’ was not declared in this scope
res=max(res,dp[i].second+(n-dp[i].first)*bmax);
^

Test case