Submission #1077271

# Submission time Handle Problem Language Result Execution time Memory
1077271 2024-08-27T04:28:15 Z YudoTLE Feast (NOI19_feast) C++17
4 / 100
98 ms 5252 KB
#include <bits/stdc++.h>
using namespace std;

using ll = long long;

const int INF = INT_MAX / 2;
const int MAXN = 3e5 + 5;

int n, k;
ll arr[MAXN], dp[MAXN][2];
int cnt[MAXN][2];
ll answer;

bool eval(ll c)
{
    dp[0][1] = -INF;
    for (int i = 1; i <= n; i++)
    {
        if (dp[i - 1][0] >= dp[i - 1][1])
        {
            dp[i][0] = dp[i - 1][0];
            cnt[i][0] = cnt[i - 1][0];
        }
        else
        {
            dp[i][0] = dp[i - 1][1];
            cnt[i][0] = cnt[i - 1][1];
        }
        if (dp[i - 1][0] - c >= dp[i - 1][1])
        {
            dp[i][1] = arr[i] + dp[i - 1][0] - c;
            cnt[i][1] = cnt[i - 1][0] + 1;
        }
        else
        {
            dp[i][1] = arr[i] + dp[i - 1][1];
            cnt[i][1] = cnt[i - 1][1];
        }
    }

    ll optv = LLONG_MIN;
    int optx = INT_MIN;
    for (int i = 0; i <= n; i++)
        for (int ii = 0; ii < 2; ii++)
    {
        ll nv = dp[i][ii] + c * cnt[i][ii];
        int nx = cnt[i][ii];
        if (nv > optv)
        {
            optv = nv;
            optx = nx;
        }
        if (nv == optv)
            optx = min(optx, nx);
    }
    if (optx <= k)
        answer = max(answer, optv);
    return optx <= k;
}

void solve()
{
    cin >> n >> k;
    ll tot = 0;
    for (int i = 1; i <= n; i++)
    {
        cin >> arr[i];
        tot += arr[i];
    }
    cout << tot << '\n';

    ll lo = 0, hi = INF;
    // while (lo <= hi)
    // {
    //     ll mi = lo + (hi - lo) / 2;
    //     if (eval(mi))
    //         hi = mi - 1;
    //     else
    //         lo = mi + 1;
    // }
    // for (int i = 0; i <= 1000; i++)
    //     eval(i);

    // cout << answer << '\n';

    // cout << accumulate(arr + 1, arr + n + 1, 0ll) << '\n';
}

int main()
{
    // ios_base::sync_with_stdio(false), cin.tie(0);

    int t = 1;
    // cin >> t;
    while (t--) solve();

    return 0;
}

Compilation message

feast.cpp: In function 'void solve()':
feast.cpp:72:8: warning: unused variable 'lo' [-Wunused-variable]
   72 |     ll lo = 0, hi = INF;
      |        ^~
feast.cpp:72:16: warning: unused variable 'hi' [-Wunused-variable]
   72 |     ll lo = 0, hi = INF;
      |                ^~
# Verdict Execution time Memory Grader output
1 Correct 86 ms 5024 KB Output is correct
2 Correct 74 ms 5204 KB Output is correct
3 Correct 82 ms 5156 KB Output is correct
4 Correct 74 ms 5200 KB Output is correct
5 Correct 75 ms 5252 KB Output is correct
6 Correct 77 ms 4944 KB Output is correct
7 Correct 73 ms 4944 KB Output is correct
8 Correct 73 ms 5208 KB Output is correct
9 Correct 98 ms 4824 KB Output is correct
10 Correct 75 ms 5200 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 35 ms 3676 KB Output is correct
2 Correct 36 ms 3660 KB Output is correct
3 Incorrect 36 ms 3812 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 81 ms 5204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 86 ms 5024 KB Output is correct
2 Correct 74 ms 5204 KB Output is correct
3 Correct 82 ms 5156 KB Output is correct
4 Correct 74 ms 5200 KB Output is correct
5 Correct 75 ms 5252 KB Output is correct
6 Correct 77 ms 4944 KB Output is correct
7 Correct 73 ms 4944 KB Output is correct
8 Correct 73 ms 5208 KB Output is correct
9 Correct 98 ms 4824 KB Output is correct
10 Correct 75 ms 5200 KB Output is correct
11 Correct 35 ms 3676 KB Output is correct
12 Correct 36 ms 3660 KB Output is correct
13 Incorrect 36 ms 3812 KB Output isn't correct
14 Halted 0 ms 0 KB -