제출 #1101991

#제출 시각아이디문제언어결과실행 시간메모리
1101991Zero_OPFeast (NOI19_feast)C++14
18 / 100
87 ms14048 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; const int MAX = 3e5 + 5; pair<ll, int> dp[2][MAX]; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); if(fopen("task.inp", "r")){ freopen("task.inp", "r", stdin); freopen("task.out", "w", stdout); } int n, k; cin >> n >> k; vector<int> a(n + 1); for(int i = 1; i <= n; ++i){ cin >> a[i]; } auto f = [&](ll lambda) -> pair<ll, int> { dp[0][1] = {0, 0}; dp[1][1] = {a[1] - lambda, 1}; for(int i = 2; i <= n; ++i){ dp[0][i] = max(dp[0][i - 1], dp[1][i - 1]); dp[1][i] = max(make_pair(dp[0][i - 1].first + a[i] - lambda, dp[0][i - 1].second + 1), make_pair(dp[1][i - 1].first + a[i], dp[1][i - 1].second)); } return max(dp[0][n], dp[1][n]); }; ll l = 0, r = 1e18, ans = 0; while(l <= r){ ll mid = l + r >> 1; pair<ll, int> eval = f(mid); if(eval.second >= k) ans = eval.first + mid * k, l = mid + 1; else r = mid - 1; } cout << ans << '\n'; return 0; }

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

feast.cpp: In function 'int main()':
feast.cpp:41:20: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   41 |         ll mid = l + r >> 1;
      |                  ~~^~~
feast.cpp:15:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   15 |         freopen("task.inp", "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
feast.cpp:16:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   16 |         freopen("task.out", "w", stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
#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...