제출 #1029329

#제출 시각아이디문제언어결과실행 시간메모리
1029329MDarioThe short shank; Redemption (BOI21_prison)C++17
15 / 100
2088 ms12908 KiB
#include <bits/stdc++.h> #include <functional> #include <vector> using namespace std; #define F first #define S second typedef long long ll; const string noyes[2] = {"NO", "YES"}; const ll INFLL = (1ll << 62); const int INF = (1 << 30); const int MAXN = 300'000; const ll MOD = 1'000'000'007; int main() { ios_base::sync_with_stdio(0); cin.tie(0); ll n, D, T; cin >> n >> D >> T; ll a[n]; for (int i = 0; i < n; i++) cin >> a[i]; int dp[n][2]; { int c = 0; ll last = INF; for (int i = 0; i < n; i++) { last = min(last + 1, a[i]); c += (last <= T); dp[i][0] = c; } } for (int i = 0; i < D; i++) { int cur = i & 1; for (int t = i; t < n; t++) dp[t][cur ^ 1] = INF; for (int t = i; t < n; t++) { int c = 0; ll last = INF; for (int e = t + 1; e < n; e++) { last = min(last + 1, a[e]); c += (last <= T); dp[e][cur ^ 1] = min(dp[e][cur ^ 1], dp[t][cur] + c); } } } cout << dp[n - 1][D & 1] << "\n"; return 0; }
#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...