Submission #1115344

# Submission time Handle Problem Language Result Execution time Memory
1115344 2024-11-20T10:56:45 Z vjudge1 Feast (NOI19_feast) C++17
4 / 100
68 ms 4508 KB
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ld = long double;

constexpr int N = int(3e5) + 5;
constexpr int MOD = int(1e9) + 7;

int a[N];

void solve(){
    int n, k;
    cin >> n >> k;
    for(int i{}; i < n; ++i){
        cin >> a[i];
    }
    ll l{}, r{ll(3e14)}, ans{};
    while(l <= r){
        ll m = l + r >> 1;
        pair<ll, int> cur{a[0] - m, 1}, dp{max(cur, {})};
        for(int i = 1; i < n; ++i){
            cur = max(pair{cur.first + a[i], cur.second}, {dp.first + a[i] - m, dp.second + 1});
            dp = max(dp, cur);
        }
        if(dp.second >= k){
            ans = max(ans, dp.first + k * m);
            l = m + 1;
        }
        else r = m - 1;
    }
    cout << ans;
}
int main(){
    // freopen("input.txt", "r", stdin);
    // freopen("output.txt", "w", stdout);
    ios::sync_with_stdio(0);    
    cin.tie(0);
 
    int t = 1;
    // cin >> t;
    for(int i = 1; i <= t; ++i) {
        solve();
    }
}

Compilation message

feast.cpp: In function 'void solve()':
feast.cpp:19:18: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   19 |         ll m = l + r >> 1;
      |                ~~^~~
# Verdict Execution time Memory Grader output
1 Correct 34 ms 3152 KB Output is correct
2 Correct 38 ms 4432 KB Output is correct
3 Correct 40 ms 4508 KB Output is correct
4 Correct 37 ms 4416 KB Output is correct
5 Correct 36 ms 4432 KB Output is correct
6 Correct 41 ms 4176 KB Output is correct
7 Correct 38 ms 4168 KB Output is correct
8 Correct 41 ms 4016 KB Output is correct
9 Correct 37 ms 4240 KB Output is correct
10 Correct 40 ms 4220 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 36 ms 2636 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 68 ms 3828 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 336 KB Output is correct
2 Incorrect 1 ms 336 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 336 KB Output is correct
2 Incorrect 1 ms 336 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 336 KB Output is correct
2 Incorrect 1 ms 336 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 34 ms 3152 KB Output is correct
2 Correct 38 ms 4432 KB Output is correct
3 Correct 40 ms 4508 KB Output is correct
4 Correct 37 ms 4416 KB Output is correct
5 Correct 36 ms 4432 KB Output is correct
6 Correct 41 ms 4176 KB Output is correct
7 Correct 38 ms 4168 KB Output is correct
8 Correct 41 ms 4016 KB Output is correct
9 Correct 37 ms 4240 KB Output is correct
10 Correct 40 ms 4220 KB Output is correct
11 Incorrect 36 ms 2636 KB Output isn't correct
12 Halted 0 ms 0 KB -