Submission #47835

#TimeUsernameProblemLanguageResultExecution timeMemory
47835Just_Solve_The_ProblemCandies (JOI18_candies)C++11
8 / 100
11 ms812 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long const int N = (int)1e5 + 7; const int smallN = (int)2e3 + 7; ll a[smallN], dp[2][smallN]; int n; main() { scanf("%d", &n); if (n > 2000) return 0; for (int i = 1; i <= n; i++) { scanf("%lld", &a[i]); } for (int i = 1; i <= n; i++) { dp[1][i] = max(dp[1][i - 1], a[i]); } cout << dp[1][n] << endl; for (int j = 2; j <= (n + 1) / 2; j++) { memset(dp[j & 1], 0, sizeof dp[j & 1]); for (int i = j; i <= n; i++) { dp[j & 1][i] = dp[j & 1][i - 1]; if (i >= j * 2 - 1) dp[j & 1][i] = max(dp[j & 1][i], dp[j & 1 ^ 1][i - 2] + a[i]); } cout << dp[j & 1][n] << endl; } }

Compilation message (stderr)

candies.cpp:13:6: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
 main() {
      ^
candies.cpp: In function 'int main()':
candies.cpp:28:47: warning: suggest parentheses around arithmetic in operand of '^' [-Wparentheses]
         dp[j & 1][i] = max(dp[j & 1][i], dp[j & 1 ^ 1][i - 2] + a[i]);
                                             ~~^~~
candies.cpp:14:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d", &n);
   ~~~~~^~~~~~~~~~
candies.cpp:17:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%lld", &a[i]);
     ~~~~~^~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...