답안 #1115382

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1115382 2024-11-20T12:07:45 Z vjudge1 Feast (NOI19_feast) C++17
4 / 100
75 ms 1628 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){
        __int128 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:24: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   19 |         __int128 m = l + r >> 1;
      |                      ~~^~~
# 결과 실행 시간 메모리 Grader output
1 Correct 57 ms 1352 KB Output is correct
2 Correct 57 ms 1628 KB Output is correct
3 Correct 56 ms 1628 KB Output is correct
4 Correct 57 ms 1616 KB Output is correct
5 Correct 59 ms 1616 KB Output is correct
6 Correct 55 ms 1360 KB Output is correct
7 Correct 59 ms 1360 KB Output is correct
8 Correct 54 ms 1616 KB Output is correct
9 Correct 54 ms 1360 KB Output is correct
10 Correct 56 ms 1492 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 51 ms 1612 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 75 ms 1528 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 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 -
# 결과 실행 시간 메모리 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 -
# 결과 실행 시간 메모리 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 -
# 결과 실행 시간 메모리 Grader output
1 Correct 57 ms 1352 KB Output is correct
2 Correct 57 ms 1628 KB Output is correct
3 Correct 56 ms 1628 KB Output is correct
4 Correct 57 ms 1616 KB Output is correct
5 Correct 59 ms 1616 KB Output is correct
6 Correct 55 ms 1360 KB Output is correct
7 Correct 59 ms 1360 KB Output is correct
8 Correct 54 ms 1616 KB Output is correct
9 Correct 54 ms 1360 KB Output is correct
10 Correct 56 ms 1492 KB Output is correct
11 Incorrect 51 ms 1612 KB Output isn't correct
12 Halted 0 ms 0 KB -