Submission #8658157


Source Code Expand

/**
 *    author:  tourist
 *    created: 26.11.2019 09:39:34       
**/
#include <bits/stdc++.h>

using namespace std;

template <typename T, class F = function<T(const T&, const T&)>>
class SparseTable {
 public:
  int n;
  vector<vector<T>> mat;
  F func;

  SparseTable(const vector<T>& a, const F& f) : func(f) {
    n = static_cast<int>(a.size());
    int max_log = 32 - __builtin_clz(n);
    mat.resize(max_log);
    mat[0] = a;
    for (int j = 1; j < max_log; j++) {
      mat[j].resize(n - (1 << j) + 1);
      for (int i = 0; i <= n - (1 << j); i++) {
        mat[j][i] = func(mat[j - 1][i], mat[j - 1][i + (1 << (j - 1))]);
      }
    }
  }

  T get(int from, int to) const {
    assert(0 <= from && from <= to && to <= n - 1);
    int lg = 32 - __builtin_clz(to - from + 1) - 1;
    return func(mat[lg][from], mat[lg][to - (1 << lg) + 1]);
  }
};

int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  int n, m, k;
  cin >> n >> m >> k;
  vector<int> a(n);
  for (int i = 0; i < n; i++) {
    cin >> a[i];
  }
  vector<long long> dp(n);
  for (int i = 0; i < n; i++) {
    dp[i] = a[i];
  }
  for (int it = 1; it < k; it++) {
    vector<long long> new_dp(n);
    new_dp[0] = (long long) -1e18;
    SparseTable<long long> st(dp, [&](long long i, long long j) { return max(i, j); });
    for (int i = 1; i < n; i++) {
      new_dp[i] = st.get(max(i - m, 0), i - 1) + (it + 1LL) * a[i];
    }
    swap(dp, new_dp);
  }
  cout << *max_element(dp.begin(), dp.end()) << '\n';
  return 0;
}

Submission Info

Submission Time
Task A - Struck Out
User tourist
Language C++14 (GCC 5.4.1)
Score 500
Code Size 1564 Byte
Status TLE
Exec Time 2104 ms
Memory 15824 KB

Judge Result

Set Name Sample subtask1 subtask2 subtask3 All
Score / Max Score 0 / 0 0 / 100 200 / 200 300 / 300 0 / 100
Status
AC × 3
AC × 8
TLE × 2
AC × 12
AC × 21
AC × 34
TLE × 12
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 1 ms 256 KB
subtask_1_2.txt AC 203 ms 1484 KB
subtask_1_3.txt TLE 2104 ms 14512 KB
subtask_1_4.txt AC 11 ms 864 KB
subtask_1_5.txt AC 52 ms 14480 KB
subtask_1_6.txt AC 2 ms 256 KB
subtask_1_7.txt AC 924 ms 14512 KB
subtask_1_8.txt TLE 2103 ms 14512 KB
subtask_1_9.txt AC 6 ms 256 KB
subtask_2_1.txt AC 2 ms 256 KB
subtask_2_2.txt AC 1 ms 256 KB
subtask_2_3.txt AC 1 ms 256 KB
subtask_2_4.txt AC 1 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 1 ms 256 KB
subtask_3_1.txt AC 270 ms 14592 KB
subtask_3_2.txt AC 278 ms 14512 KB
subtask_3_3.txt AC 264 ms 14512 KB
subtask_3_4.txt AC 213 ms 11520 KB
subtask_3_5.txt AC 10 ms 864 KB
subtask_3_6.txt AC 138 ms 14512 KB
subtask_3_7.txt AC 272 ms 14512 KB
subtask_3_8.txt AC 22 ms 1480 KB
subtask_3_9.txt AC 268 ms 14512 KB
subtask_4_1.txt TLE 2104 ms 14512 KB
subtask_4_10.txt TLE 2103 ms 14512 KB
subtask_4_11.txt TLE 2104 ms 14512 KB
subtask_4_12.txt TLE 2104 ms 14512 KB
subtask_4_13.txt TLE 2104 ms 14512 KB
subtask_4_2.txt TLE 2104 ms 14512 KB
subtask_4_3.txt TLE 2104 ms 15824 KB
subtask_4_4.txt TLE 2104 ms 14512 KB
subtask_4_5.txt TLE 2104 ms 14512 KB
subtask_4_6.txt AC 206 ms 14512 KB
subtask_4_7.txt AC 1415 ms 14512 KB
subtask_4_8.txt TLE 2103 ms 14344 KB
subtask_4_9.txt AC 1172 ms 14512 KB