Submission #1285706

#TimeUsernameProblemLanguageResultExecution timeMemory
1285706thuhienneCat Exercise (JOI23_ho_t4)C++20
14 / 100
24 ms832 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; #define re exit(0); #define thuhien "" int n,perm[309]; int dp[309][309]; bool xd[309][309]; int calc(int l,int r) { if (l >= r) return 0; if (xd[l][r]) return dp[l][r]; xd[l][r] = 1; int curr = l; for (int i = l;i <= r;i++) if (perm[i] > perm[curr]) curr = i; int secondmax = 0; for (int i = l;i <= r;i++) if (i != curr && (secondmax == 0 || perm[i] > perm[secondmax])) secondmax = i; for (int dick = l;dick <= r;dick++) { if (dick == curr) { if (dick > secondmax) dp[l][r] = max(dp[l][r],calc(l,dick - 1) + dick - secondmax); else dp[l][r] = max(dp[l][r],calc(dick + 1,r) + secondmax - dick); } else if (dick > curr) { dp[l][r] = max(dp[l][r],calc(l,dick - 1)); } else dp[l][r] = max(dp[l][r],calc(dick + 1,r)); } return dp[l][r]; } int main() { ios_base::sync_with_stdio(0);cin.tie(nullptr); if (fopen(thuhien".inp","r")) { freopen(thuhien".inp","r",stdin); freopen(thuhien".out","w",stdout); } cin >> n; for (int i = 1;i <= n;i++) cin >> perm[i]; cout << calc(1,n); }

Compilation message (stderr)

Main.cpp: In function 'int main()':
Main.cpp:39:24: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   39 |                 freopen(thuhien".inp","r",stdin);
      |                 ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
Main.cpp:40:24: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   40 |                 freopen(thuhien".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...