Submission #1322675

#TimeUsernameProblemLanguageResultExecution timeMemory
1322675NgTrung2217Sailing Race (CEOI12_race)C++20
0 / 100
61 ms57520 KiB
#include <bits/stdc++.h> #define task "pieaters" #define ff first #define ss second using namespace std; using ld = long double; using ull = unsigned long long; using ll = long long; using pll = pair <ll, ll>; using pii = pair <int, int>; const char el = '\n'; const char sp = ' '; const ll inf = 1e9; //1e18; const int maxN = 305; int n, m; int wei[maxN][maxN], best[maxN][maxN][maxN], dp[maxN][maxN]; int main () { ios_base::sync_with_stdio(0); cin.tie(0); if (fopen(task".in", "r")) { freopen(task".in", "r", stdin); freopen(task".out", "w", stdout); } if (!(cin >> n >> m)) return 0; for (int i = 1;i <= m;++i) { int w, l, r; cin >> w >> l >> r; wei[l][r] = w; } for (int i = 1;i <= n;++i) { for (int l = i;l >= 1;--l) { for (int r = i;r <= n;++r) { best[i][l][r] = wei[l][r]; if (l < i) best[i][l][r] = max(best[i][l][r], best[i][l + 1][r]); if (r > i) best[i][l][r] = max(best[i][l][r], best[i][l][r - 1]); } } } for (int i = n;i >= 1;--i) { for (int j = i;j <= n;++j) { for (int k = i;k <= j;++k) { int val = best[k][i][j]; if (k > i) val += dp[i][k - 1]; if (k < j) val += dp[k + 1][j]; dp[i][j] = max(dp[i][j], val); } } } cout << dp[1][n] << el; }

Compilation message (stderr)

race.cpp: In function 'int main()':
race.cpp:25:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   25 |         freopen(task".in", "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
race.cpp:26:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   26 |         freopen(task".out", "w", stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...