제출 #1270946

#제출 시각아이디문제언어결과실행 시간메모리
1270946quangminh412Feast (NOI19_feast)C++17
30 / 100
25 ms3912 KiB
/* Ben Watson Quang Minh MasterDDDDD */ #include <bits/stdc++.h> using namespace std; #define ll long long const string name = "test"; void solve(); signed main() { if (fopen((name + ".inp").c_str(), "r")) { freopen((name + ".inp").c_str(), "r", stdin); freopen((name + ".out").c_str(), "w", stdout); } ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); solve(); return 0; } // main program const int maxn = 3e5 + 1; ll prefix[maxn]; int a[maxn]; int n, k; void subtask1() { cout << prefix[n] << '\n'; } void subtask2() { ll res = prefix[n]; for (int i = 1; i <= n; i++) if (a[i] < 0) res -= a[i]; cout << res << '\n'; } void subtask3() { ll mn = 0, res = 0; for (int i = 1; i <= n; i++) { res = max(res, prefix[i] - mn); mn = min(mn, prefix[i]); } cout << res << '\n'; } void subtask456() { vector<vector<ll>> dp(k + 1, vector<ll>(n + 1, 0)); ll res = 0; for (int i = 1; i <= n; i++) for (int j = 1; j <= k; j++) { dp[j][i] = max({dp[j - 1][i - 1], dp[j][i - 1], dp[j - 1][i], dp[j][i - 1] + a[i]}); res = max(res, dp[j][i]); } cout << res << '\n'; } void solve() { cin >> n >> k; int cnt = 0; bool issub1 = true; for (int i = 1; i <= n; i++) { cin >> a[i]; if (a[i] < 0) { issub1 = false; cnt++; } prefix[i] = prefix[i - 1] + a[i]; } if (issub1) { subtask1(); return; } if (k == 1) { subtask3(); return; } if (cnt <= 1) { subtask2(); return; } subtask456(); }

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

feast.cpp: In function 'int main()':
feast.cpp:19:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   19 |         freopen((name + ".inp").c_str(), "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
feast.cpp:20:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   20 |         freopen((name + ".out").c_str(), "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...