Submission #1054135


Source Code Expand

#ifndef ___Class_RMQ
#define ___Class_RMQ

// ------ Includes ------ //
#include <limits>
#include <vector>
#include <algorithm>

// ------ RMQ Class ------ //
template<typename Type> class RMQ {
private:
	unsigned size_; std::vector<Type> dat;
	inline Type query_(int a, int b, int k, int l, int r) {
		if (r <= a || b <= l) return std::numeric_limits<Type>::max();
		if (a <= l && r <= b) return dat[k];
		Type lc = query_(a, b, (k << 1), l, (l + r) >> 1);
		Type rc = query_(a, b, (k << 1) + 1, (l + r) >> 1, r);
		return std::min(lc, rc);
	}
public:
	RMQ() : size_(0), dat(std::vector<Type>()) {};
	RMQ(int size__) {
		for (size_ = 1; size_ < size__; ) size_ <<= 1;
		dat.resize(size_ << 1, std::numeric_limits<Type>::max());
	}
	template<class T>
	RMQ(T begin_, T end_) {
		int n = end_ - begin_;
		for (size_ = 1; size_ < n; size_ <<= 1); dat.resize(size_ << 1, std::numeric_limits<Type>::max());
		for (int i = 0; i < n; i++) dat[i + size_] = *(begin_ + i);
		for (int i = size_ - 1; i > 0; i--) dat[i] = std::min(dat[i << 1], dat[(i << 1) + 1]);
	}
	inline unsigned size() { return size_; }
	inline void update(int i, Type x) {
		i += size_; dat[i] = x;
		while (i > 1) {
			i >>= 1;
			dat[i] = std::min(dat[i << 1], dat[(i << 1) + 1]);
		}
	}
	inline Type query(int l, int r) {
		return query_(l, r, 1, 0, size_);
	}
};

#endif

#include <iostream>
using namespace std;
long long n, k, m, a[105000], dp[105000][325];
int main() {
	cin >> n >> m >> k; for (int i = 0; i < n; i++)cin >> a[i];
	vector<RMQ<long long>> x(k + 1, RMQ<long long>(n + 1));
	for (int i = 0; i <= n; i++) { for (int j = 0; j <= k; j++)dp[i][j] = -1LL << 62; }
	for (int i = 1; i <= n; i++) { dp[i][0] = 0; x[0].update(i, 0); }
	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= k; j++) {
			dp[i][j] = (-1LL * x[j - 1].query(max(0LL, i - m), i)) + 1LL * j*a[i - 1];
			x[j].update(i, -dp[i][j]);
		}
	}
	long long maxn = 0; for (int i = 1; i <= n; i++)maxn = max(maxn, dp[i][k]);
	cout << maxn << endl;
	return 0;
}

Submission Info

Submission Time
Task A - Struck Out
User E869120
Language C++14 (GCC 5.4.1)
Score 0
Code Size 2066 Byte
Status WA
Exec Time 2170 ms
Memory 872572 KB

Judge Result

Set Name Sample subtask1 subtask2 subtask3 All
Score / Max Score 0 / 0 0 / 100 0 / 200 0 / 300 0 / 100
Status
AC × 2
WA × 1
AC × 4
WA × 3
TLE × 3
AC × 5
WA × 7
AC × 13
WA × 8
AC × 17
WA × 11
TLE × 15
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, 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 WA 3 ms 256 KB
sample_2.txt AC 3 ms 256 KB
sample_3.txt AC 3 ms 256 KB
subtask_1_1.txt WA 3 ms 512 KB
subtask_1_2.txt AC 627 ms 103932 KB
subtask_1_3.txt TLE 2168 ms 872572 KB
subtask_1_4.txt AC 41 ms 17408 KB
subtask_1_5.txt AC 434 ms 267260 KB
subtask_1_6.txt WA 7 ms 1536 KB
subtask_1_7.txt TLE 2143 ms 462204 KB
subtask_1_8.txt TLE 2168 ms 872572 KB
subtask_1_9.txt WA 19 ms 3968 KB
subtask_2_1.txt WA 5 ms 1280 KB
subtask_2_2.txt AC 4 ms 1152 KB
subtask_2_3.txt WA 4 ms 1152 KB
subtask_2_4.txt WA 4 ms 896 KB
subtask_2_5.txt WA 3 ms 384 KB
subtask_2_6.txt WA 3 ms 384 KB
subtask_2_7.txt AC 5 ms 1280 KB
subtask_2_8.txt AC 5 ms 1280 KB
subtask_2_9.txt WA 5 ms 1152 KB
subtask_3_1.txt AC 1042 ms 318588 KB
subtask_3_2.txt AC 1073 ms 318588 KB
subtask_3_3.txt AC 1059 ms 316540 KB
subtask_3_4.txt AC 888 ms 267644 KB
subtask_3_5.txt WA 40 ms 17152 KB
subtask_3_6.txt AC 641 ms 287740 KB
subtask_3_7.txt AC 951 ms 318588 KB
subtask_3_8.txt AC 93 ms 33788 KB
subtask_3_9.txt AC 992 ms 318588 KB
subtask_4_1.txt TLE 2168 ms 872572 KB
subtask_4_10.txt TLE 2168 ms 872572 KB
subtask_4_11.txt TLE 2168 ms 872572 KB
subtask_4_12.txt TLE 2169 ms 872572 KB
subtask_4_13.txt TLE 2170 ms 872572 KB
subtask_4_2.txt TLE 2169 ms 872572 KB
subtask_4_3.txt TLE 2168 ms 872572 KB
subtask_4_4.txt TLE 2168 ms 872572 KB
subtask_4_5.txt TLE 2163 ms 778236 KB
subtask_4_6.txt AC 766 ms 304124 KB
subtask_4_7.txt TLE 2151 ms 581244 KB
subtask_4_8.txt TLE 2168 ms 869372 KB
subtask_4_9.txt TLE 2147 ms 527868 KB