Submission #515477

#TimeUsernameProblemLanguageResultExecution timeMemory
51547779brueTriple Jump (JOI19_jumps)C++14
19 / 100
2359 ms401440 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; int n, q; int arr[500002]; int DP[5002][5002]; int DPmax[5002][5002]; int main(){ scanf("%d", &n); for(int i=1; i<=n; i++) scanf("%d", &arr[i]); for(int i=1; i<=n; i++){ DPmax[i][i] = arr[i]; for(int j=i+1; j<=n; j++){ DPmax[i][j] = max(DPmax[i][j-1], arr[j]); } } for(int i=1; i<=n-2; i++) DP[i][i+2] = arr[i] + arr[i+1] + arr[i+2]; for(int d=3; d<n; d++){ for(int i=1; i+d<=n; i++){ int j = i+d; DP[i][j] = max({DP[i][j-1], DP[i+1][j], arr[i] + arr[j] + DPmax[i+1][(i+j)/2]}); } } scanf("%d", &q); while(q--){ int l, r; scanf("%d %d", &l, &r); printf("%d\n", DP[l][r]); } }

Compilation message (stderr)

jumps.cpp: In function 'int main()':
jumps.cpp:13:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   13 |     scanf("%d", &n);
      |     ~~~~~^~~~~~~~~~
jumps.cpp:14:34: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   14 |     for(int i=1; i<=n; i++) scanf("%d", &arr[i]);
      |                             ~~~~~^~~~~~~~~~~~~~~
jumps.cpp:29:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   29 |     scanf("%d", &q);
      |     ~~~~~^~~~~~~~~~
jumps.cpp:32:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   32 |         scanf("%d %d", &l, &r);
      |         ~~~~~^~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...