제출 #240565

#제출 시각아이디문제언어결과실행 시간메모리
240565arnold518Feast (NOI19_feast)C++14
100 / 100
175 ms15224 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int, int> pii; typedef pair<ll, ll> pll; const int MAXN = 3e5; const ll INF = 1e13; int N, K; ll A[MAXN+10]; pll dp1[MAXN+10], dp2[MAXN+10]; ll ans; int solve(ll lambda) { int i, j; dp1[0]={-INF, 0}; dp2[0]={0, 0}; for(i=1; i<=N; i++) { if(dp1[i-1].first>dp2[i-1].first-lambda) dp1[i]={dp1[i-1].first+A[i]*2, dp1[i-1].second}; else dp1[i]={dp2[i-1].first-lambda+A[i]*2, dp2[i-1].second+1}; dp2[i]=max(dp1[i-1], dp2[i-1]); } ans=max(dp1[N].first, dp2[N].first); if(dp1[N].first>dp2[N].first) return dp1[N].second; else return dp2[N].second; } int main() { int i, j; scanf("%d%d", &N, &K); for(i=1; i<=N; i++) scanf("%lld", &A[i]); ll lo=0, hi=INF; while(lo+1<hi) { ll mid=lo+hi>>1; if(solve(mid*2+1)>=K) lo=mid; else hi=mid; } solve(lo*2); printf("%lld\n", ans/2+lo*K); }

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

feast.cpp: In function 'int solve(ll)':
feast.cpp:19:9: warning: unused variable 'j' [-Wunused-variable]
  int i, j;
         ^
feast.cpp: In function 'int main()':
feast.cpp:44:12: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   ll mid=lo+hi>>1;
          ~~^~~
feast.cpp:36:9: warning: unused variable 'j' [-Wunused-variable]
  int i, j;
         ^
feast.cpp:38:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d%d", &N, &K);
  ~~~~~^~~~~~~~~~~~~~~~
feast.cpp:39:27: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  for(i=1; i<=N; i++) scanf("%lld", &A[i]);
                      ~~~~~^~~~~~~~~~~~~~~
#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...