제출 #1326519

#제출 시각아이디문제언어결과실행 시간메모리
1326519GabrielFeast (NOI19_feast)C++20
30 / 100
33 ms5040 KiB
#include "bits/stdc++.h" using namespace std; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); int n, k; cin>>n>>k; k--; deque<long long> a(n); long long r = 0; for(int i = 0; i < n; i++) cin>>a[i]; while(!a.empty() and a[0] < 0){ a.pop_front(); } while(!a.empty() and a.back() < 0){ a.pop_back(); } vector< pair<long long, pair<int, int> > > Borrar; long long Suma = 0; a.push_back(0); n = a.size(); for(int i = 0; i < n; i++){ if(a[i] < 0){ if(Suma == 0) Borrar.push_back({0LL, {i, -2}}); Suma += a[i]; } else if(Suma != 0){ Borrar.back().first = Suma; Borrar.back().second.second = i; Suma = 0; } } sort(Borrar.begin(), Borrar.end()); for(int i = 0; i < k and i < Borrar.size(); i++){ for(; Borrar[i].second.first < Borrar[i].second.second; Borrar[i].second.first++){ a[Borrar[i].second.first] = -0; } } Suma = 0; for(auto E: a){ Suma += E; Suma = max(0LL, Suma); r = max(Suma, r); } cout<<r; return 0; }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...