| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1327641 | ozner77 | Feast (NOI19_feast) | C++17 | 1095 ms | 2552 KiB |
#include <bits/stdc++.h>
using namespace std;
#define ll long long
int main(){
ll caca,k;
cin>>caca>>k;
vector<ll> V;
ll xd;
cin>>xd;
ll suma=max(xd,0ll);
for(int i=1;i<caca;i++){
ll a;
cin>>a;
if(a<0 && xd<0){
xd+=a;
}else if(a>0 && xd>0){
xd+=a;
}else{
V.push_back(xd);
xd=a;
}
if(a>0){
suma+=a;
}
}
V.push_back(xd);
ll con=0;
for(int i=0;i<V.size();i++){
if(V[i]>0)con++;
}
if(k>=con){
cout<<suma<<"\n";
return 0;
}
ll n=V.size();
vector<ll> dp(k+1),dp2(k+1);
for(int i=0;i<=k;i++){
dp[i]=0;
dp2[i]=-1e18;
}
for(int i=0;i<n;i++){
for(int j=k;j>=1;j--){
dp2[j]=max(dp2[j]+V[i],dp[j-1]+V[i]);
dp[j]=max(dp2[j],dp[j]);
}
}
cout<<dp[k]<<"\n";
}| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
