Submission #1238676

#TimeUsernameProblemLanguageResultExecution timeMemory
1238676JerBouquet (EGOI24_bouquet)C++20
0 / 100
3094 ms2628 KiB
#include <bits/stdc++.h> using namespace std; const int MAXN = 2e5 + 5; int l[MAXN], r[MAXN]; int n; int dp[MAXN]; int solve(int i) { if (i < 0) return 0; if (i == 0) return 1; if (dp[i] != -1) return dp[i]; int res = solve(i - 1); for (int j = i - l[i] - 1; j >= 0; j--) if (j + r[j] < i) res = max(res, 1 + solve(j)); return dp[i] = res; } int main() { scanf("%d", &n); for (int i = 0; i < n; i++) scanf("%d%d", &l[i], &r[i]); fill(dp, dp + n, -1); int res = 0; for (int i = 0; i < n; i++) res = max(res, solve(i)); printf("%d\n", res); return 0; }

Compilation message (stderr)

Main.cpp: In function 'int main()':
Main.cpp:31:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   31 |     scanf("%d", &n);
      |     ~~~~~^~~~~~~~~~
Main.cpp:34:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   34 |         scanf("%d%d", &l[i], &r[i]);
      |         ~~~~~^~~~~~~~~~~~~~~~~~~~~~
#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...