Submission #3630179
Source Code Expand
#include <bits/stdc++.h> using namespace std; using i64 = int64_t; using vi = vector<i64>; using vvi = vector<vi>; template <class T> class SegTree { using F = function<T(T, T)>; int n; vector<T> data; F f; T e; public: SegTree<T>() {} SegTree<T>& operator=(const SegTree<T>& t) { n = t.n; data = t.data; f = t.f; e = t.e; return *this; } SegTree<T>(const vector<T>& as, const F f, const T& e) : f(f), e(e) { n = 1; while (n < as.size()) n <<= 1; data.assign(2 * n, e); for (int i = 0; i < as.size(); i++) { data[n + i] = as[i]; } for (int i = n - 1; i > 0; i--) { data[i] = f(data[2 * i], data[2 * i + 1]); } } void update(int k, const T& x) { k += n; data[k] = x; while (k >>= 1) { data[k] = f(data[2 * k], data[2 * k + 1]); } } T query(int a, int b) { T L = e, R = e; for (a += n, b += n; a < b; a >>= 1, b >>= 1) { if (a & 1) { L = f(L, data[a++]); } if (b & 1) { R = f(data[--b], R); } } return f(L, R); } }; int main() { int n, m, k; cin >> n >> m >> k; vi as(n); for (int i = 0; i < n; i++) { cin >> as[i]; } SegTree<i64> dp(as, [](i64 a, i64 b){return max(a, b);}, -1e18); for (int i = 0; i < k - 1; i++) { SegTree<i64> dp2(vi(n), [](i64 a, i64 b){return max(a, b);}, -1e18); for (int j = i + 1; j < n; j++) { dp2.update(j, (i + 2) * as[j] + dp.query(max(0, j - m), j)); } vi tmp(n); for (int i = 0; i < n; i++) { tmp[i] = dp2.query(i, i + 1); } dp = SegTree<i64>(tmp, [](i64 a, i64 b){return max(a, b);}, -1e18); } i64 nax = -1; for (int i = 0; i < n; i++) { nax = max(nax, dp.query(i, i + 1)); } cout << nax << endl; }
Submission Info
Submission Time | |
---|---|
Task | A - Struck Out |
User | xuzijian629 |
Language | C++14 (GCC 5.4.1) |
Score | 500 |
Code Size | 2096 Byte |
Status | TLE |
Exec Time | 2107 ms |
Memory | 8008 KB |
Judge Result
Set Name | Sample | subtask1 | subtask2 | subtask3 | All | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 0 / 100 | 200 / 200 | 300 / 300 | 0 / 100 | ||||||||||||||
Status |
|
|
|
|
|
Set Name | Test Cases |
---|---|
Sample | sample_1.txt, sample_2.txt, sample_3.txt |
subtask1 | sample_2.txt, subtask_1_1.txt, subtask_1_2.txt, subtask_1_3.txt, subtask_1_4.txt, subtask_1_5.txt, subtask_1_6.txt, subtask_1_7.txt, subtask_1_8.txt, subtask_1_9.txt |
subtask2 | sample_1.txt, sample_2.txt, sample_3.txt, subtask_2_1.txt, subtask_2_2.txt, subtask_2_3.txt, subtask_2_4.txt, subtask_2_5.txt, subtask_2_6.txt, subtask_2_7.txt, subtask_2_8.txt, subtask_2_9.txt |
subtask3 | sample_1.txt, sample_2.txt, sample_3.txt, subtask_2_1.txt, subtask_2_2.txt, subtask_2_3.txt, subtask_2_4.txt, subtask_2_5.txt, subtask_2_6.txt, subtask_2_7.txt, subtask_2_8.txt, subtask_2_9.txt, subtask_3_1.txt, subtask_3_2.txt, subtask_3_3.txt, subtask_3_4.txt, subtask_3_5.txt, subtask_3_6.txt, subtask_3_7.txt, subtask_3_8.txt, subtask_3_9.txt |
All | sample_1.txt, sample_2.txt, sample_3.txt, sample_1.txt, sample_2.txt, sample_3.txt, subtask_1_1.txt, subtask_1_2.txt, subtask_1_3.txt, subtask_1_4.txt, subtask_1_5.txt, subtask_1_6.txt, subtask_1_7.txt, subtask_1_8.txt, subtask_1_9.txt, subtask_2_1.txt, subtask_2_2.txt, subtask_2_3.txt, subtask_2_4.txt, subtask_2_5.txt, subtask_2_6.txt, subtask_2_7.txt, subtask_2_8.txt, subtask_2_9.txt, subtask_3_1.txt, subtask_3_2.txt, subtask_3_3.txt, subtask_3_4.txt, subtask_3_5.txt, subtask_3_6.txt, subtask_3_7.txt, subtask_3_8.txt, subtask_3_9.txt, subtask_4_1.txt, subtask_4_10.txt, subtask_4_11.txt, subtask_4_12.txt, subtask_4_13.txt, subtask_4_2.txt, subtask_4_3.txt, subtask_4_4.txt, subtask_4_5.txt, subtask_4_6.txt, subtask_4_7.txt, subtask_4_8.txt, subtask_4_9.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_1.txt | AC | 1 ms | 256 KB |
sample_2.txt | AC | 1 ms | 256 KB |
sample_3.txt | AC | 1 ms | 256 KB |
subtask_1_1.txt | AC | 2 ms | 256 KB |
subtask_1_2.txt | AC | 474 ms | 1228 KB |
subtask_1_3.txt | TLE | 2104 ms | 8008 KB |
subtask_1_4.txt | AC | 27 ms | 768 KB |
subtask_1_5.txt | AC | 118 ms | 8008 KB |
subtask_1_6.txt | AC | 4 ms | 256 KB |
subtask_1_7.txt | AC | 1862 ms | 8008 KB |
subtask_1_8.txt | TLE | 2104 ms | 8008 KB |
subtask_1_9.txt | AC | 13 ms | 256 KB |
subtask_2_1.txt | AC | 2 ms | 256 KB |
subtask_2_2.txt | AC | 2 ms | 256 KB |
subtask_2_3.txt | AC | 2 ms | 256 KB |
subtask_2_4.txt | AC | 2 ms | 256 KB |
subtask_2_5.txt | AC | 1 ms | 256 KB |
subtask_2_6.txt | AC | 1 ms | 256 KB |
subtask_2_7.txt | AC | 2 ms | 256 KB |
subtask_2_8.txt | AC | 2 ms | 256 KB |
subtask_2_9.txt | AC | 2 ms | 256 KB |
subtask_3_1.txt | AC | 587 ms | 8008 KB |
subtask_3_2.txt | AC | 543 ms | 8008 KB |
subtask_3_3.txt | AC | 537 ms | 8008 KB |
subtask_3_4.txt | AC | 448 ms | 7704 KB |
subtask_3_5.txt | AC | 25 ms | 768 KB |
subtask_3_6.txt | AC | 236 ms | 8008 KB |
subtask_3_7.txt | AC | 576 ms | 8008 KB |
subtask_3_8.txt | AC | 52 ms | 1228 KB |
subtask_3_9.txt | AC | 443 ms | 8008 KB |
subtask_4_1.txt | TLE | 2104 ms | 8008 KB |
subtask_4_10.txt | TLE | 2103 ms | 8008 KB |
subtask_4_11.txt | TLE | 2104 ms | 8008 KB |
subtask_4_12.txt | TLE | 2104 ms | 8008 KB |
subtask_4_13.txt | TLE | 2104 ms | 8008 KB |
subtask_4_2.txt | TLE | 2104 ms | 8008 KB |
subtask_4_3.txt | TLE | 2107 ms | 8008 KB |
subtask_4_4.txt | TLE | 2104 ms | 8008 KB |
subtask_4_5.txt | TLE | 2104 ms | 8008 KB |
subtask_4_6.txt | AC | 446 ms | 8008 KB |
subtask_4_7.txt | TLE | 2104 ms | 8008 KB |
subtask_4_8.txt | TLE | 2104 ms | 7988 KB |
subtask_4_9.txt | TLE | 2104 ms | 8008 KB |