| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1336580 | sh_qaxxorov_571 | Financial Report (JOI21_financial) | C++20 | 27 ms | 5088 KiB |
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int N, D;
cin >> N >> D;
vector<long long> A(N+1);
for(int i=1;i<=N;i++) cin >> A[i];
vector<long long> dp(N+1, -1e18);
deque<int> dq;
dp[1] = 1;
dq.push_back(1);
for(int i=2;i<=N;i++) {
while(!dq.empty() && dq.front() < i-D)
dq.pop_front();
long long best = -1e18;
for(auto j : dq) {
long long add = (A[i] > A[j]) ? 1 : 0;
best = max(best, dp[j] + add);
}
dp[i] = best;
while(!dq.empty() && A[dq.back()] <= A[i])
dq.pop_back();
dq.push_back(i);
}
cout << dp[N] << "\n";
}| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
