제출 #1175011

#제출 시각아이디문제언어결과실행 시간메모리
1175011nhamtanFeast (NOI19_feast)C++20
100 / 100
104 ms21580 KiB
#include<bits/stdc++.h> using namespace std; #define int long long const int N = 1e6 + 5; int n , k; int a[N]; pair < int , int > dp[N][4]; pair < int , int > check(int mid) { dp[1][0] = {0 , 0}; dp[1][1] = {a[1] - mid , 1}; for(int i = 2 ; i <= n ; i++) { dp[i][0] = max(dp[i - 1][0] , dp[i - 1][1]); dp[i][1] = max(make_pair(dp[i - 1][0].first + a[i] - mid , dp[i - 1][0].second + 1), make_pair(dp[i - 1][1].first + a[i] , dp[i - 1][1].second)); } return max(dp[n][0] , dp[n][1]); } main() { ios::sync_with_stdio(0); cin.tie(0); cin >> n >> k; for(int i = 1 ; i <= n ; i++) cin >> a[i]; int l = 1 , r = 3e14 , ans = 0; while(l <= r) { int mid = (l + r) / 2; if(check(mid).second >= k) l = mid + 1 , ans = mid; else r = mid - 1; } cout << check(ans).first + k * ans; }

컴파일 시 표준 에러 (stderr) 메시지

feast.cpp:24:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   24 | main()
      | ^~~~
#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...