제출 #112096

#제출 시각아이디문제언어결과실행 시간메모리
112096_demon_수열 (APIO14_sequence)C++14
28 / 100
111 ms3704 KiB
#include <bits/stdc++.h>
using namespace std;
long long n,k;
long long a[1009];
long long dp[1009][209];
long long p[1009][209]; 
long long sum[1009];
int main(){
    cin>>n>>k;
    for(int i=1;i<=n;i++)cin>>a[i];
    for(int i=1;i<=n;i++)sum[i]=sum[i-1]+a[i];
    for(int i=1;i<=n;i++){
        long long crnt=0;
        for(int j=i;j>=1;j--){
            crnt+=a[j];
            for(int K=1;K<=k+1;K++){
                if(dp[i][K]<=dp[j-1][K-1]+crnt*(sum[n]-sum[i])){
                    dp[i][K]=dp[j-1][K-1]+crnt*(sum[n]-sum[i]);
                    p[i][K]=j-1;
                }
            }
        }
    }
    cout<<dp[n][k+1]<<endl;
    vector<int>v;
    int ii=n;int kk=k+1;
    while(p[ii][kk]!=0){
        v.push_back(p[ii][kk]);
        ii=p[ii][kk];
        kk--;
    }
    if(v.size()!=k)cout<<"wefwefwe"<<endl;
    reverse(v.begin(),v.end());
    for(int i=0;i<v.size();i++){
        cout<<v[i]<<" ";
    }
    cout<<endl;
}

컴파일 시 표준 에러 (stderr) 메시지

sequence.cpp: In function 'int main()':
sequence.cpp:32:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if(v.size()!=k)cout<<"wefwefwe"<<endl;
        ~~~~~~~~^~~
sequence.cpp:34:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=0;i<v.size();i++){
                 ~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...