Submission #1115379

# Submission time Handle Problem Language Result Execution time Memory
1115379 2024-11-20T12:06:12 Z vjudge1 Feast (NOI19_feast) C++17
4 / 100
76 ms 3404 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];
    }
    __int128 l{}, r{ll(3e14)}, ans{};
    while(l <= r){
        ll m = l + r >> 1;
        pair<__int128, 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 << ll(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 52 ms 1360 KB Output is correct
2 Correct 53 ms 1616 KB Output is correct
3 Correct 60 ms 3404 KB Output is correct
4 Correct 54 ms 1608 KB Output is correct
5 Correct 52 ms 1616 KB Output is correct
6 Correct 50 ms 1360 KB Output is correct
7 Correct 50 ms 1360 KB Output is correct
8 Correct 63 ms 2028 KB Output is correct
9 Correct 60 ms 1352 KB Output is correct
10 Correct 53 ms 1612 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 50 ms 1620 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 76 ms 1616 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 52 ms 1360 KB Output is correct
2 Correct 53 ms 1616 KB Output is correct
3 Correct 60 ms 3404 KB Output is correct
4 Correct 54 ms 1608 KB Output is correct
5 Correct 52 ms 1616 KB Output is correct
6 Correct 50 ms 1360 KB Output is correct
7 Correct 50 ms 1360 KB Output is correct
8 Correct 63 ms 2028 KB Output is correct
9 Correct 60 ms 1352 KB Output is correct
10 Correct 53 ms 1612 KB Output is correct
11 Incorrect 50 ms 1620 KB Output isn't correct
12 Halted 0 ms 0 KB -