Submission #1986407


Source Code Expand

#include <bits/stdc++.h>

#define _overload(_1,_2,_3,name,...) name
#define _rep(i,n) _range(i,0,n)
#define _range(i,a,b) for(int i=int(a);i<int(b);++i)
#define rep(...) _overload(__VA_ARGS__,_range,_rep,)(__VA_ARGS__)

#define _rrep(i,n) _rrange(i,n,0)
#define _rrange(i,a,b) for(int i=int(a)-1;i>=int(b);--i)
#define rrep(...) _overload(__VA_ARGS__,_rrange,_rrep,)(__VA_ARGS__)

#define _all(arg) begin(arg),end(arg)
#define uniq(arg) sort(_all(arg)),(arg).erase(unique(_all(arg)),end(arg))
#define getidx(ary,key) lower_bound(_all(ary),key)-begin(ary)
#define clr(a,b) memset((a),(b),sizeof(a))
#define bit(n) (1LL<<(n))
#define popcount(n) (__builtin_popcountll(n))

using namespace std;

template<class T>bool chmax(T &a, const T &b) { return (a < b) ? (a = b, 1) : 0;}
template<class T>bool chmin(T &a, const T &b) { return (b < a) ? (a = b, 1) : 0;}

using ll = long long;
const ll inf = 1LL << 50;


ll a[100010];

// {1 1 4 2 3 5}
// min {1,1,2,3,5} みたいに管理

void add(auto &deq, ll x) {
	while (!deq.empty() and deq.back() < x) deq.pop_back();
	deq.push_back(x);
}

void del(auto &deq, ll x) {
	if (!deq.empty() and deq.front() == x) deq.pop_front();
}

ll getval(auto &deq) {
	return (deq.empty()) ? -inf : deq.front();
}

ll dp[100010], dp2[100010];


int main(void) {
	ll n, m, k;
	cin >> n >> m >> k;

	rep(i, n) cin >> a[i];
	rep(i, n) dp[i] = a[i];

	rep(i, 2, k + 1) {
		deque<ll> deq;
		rep(j, n) {
			dp2[j] = 1LL * i * a[j] + getval(deq);
			add(deq, dp[j]);
			if (j - m >= 0) del(deq, dp[j - m]);
		}
		rep(j, n) dp[j] = dp2[j];
	}

	ll ans = 0LL;
	rep(j, n) chmax(ans, dp[j]);
	cout << ans << endl;
	return 0;
}

Submission Info

Submission Time
Task A - Struck Out
User Hec
Language C++14 (GCC 5.4.1)
Score 700
Code Size 1713 Byte
Status AC
Exec Time 433 ms
Memory 2560 KB

Judge Result

Set Name Sample subtask1 subtask2 subtask3 All
Score / Max Score 0 / 0 100 / 100 200 / 200 300 / 300 100 / 100
Status
AC × 3
AC × 10
AC × 12
AC × 21
AC × 46
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 37 ms 512 KB
subtask_1_3.txt AC 389 ms 2560 KB
subtask_1_4.txt AC 5 ms 384 KB
subtask_1_5.txt AC 45 ms 2560 KB
subtask_1_6.txt AC 2 ms 256 KB
subtask_1_7.txt AC 157 ms 2560 KB
subtask_1_8.txt AC 387 ms 2560 KB
subtask_1_9.txt AC 2 ms 256 KB
subtask_2_1.txt AC 1 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 1 ms 256 KB
subtask_2_8.txt AC 1 ms 256 KB
subtask_2_9.txt AC 1 ms 256 KB
subtask_3_1.txt AC 75 ms 2560 KB
subtask_3_2.txt AC 74 ms 2560 KB
subtask_3_3.txt AC 73 ms 2560 KB
subtask_3_4.txt AC 60 ms 2176 KB
subtask_3_5.txt AC 5 ms 384 KB
subtask_3_6.txt AC 58 ms 2560 KB
subtask_3_7.txt AC 75 ms 2560 KB
subtask_3_8.txt AC 9 ms 512 KB
subtask_3_9.txt AC 77 ms 2560 KB
subtask_4_1.txt AC 389 ms 2560 KB
subtask_4_10.txt AC 350 ms 2560 KB
subtask_4_11.txt AC 433 ms 2560 KB
subtask_4_12.txt AC 426 ms 2560 KB
subtask_4_13.txt AC 420 ms 2560 KB
subtask_4_2.txt AC 414 ms 2560 KB
subtask_4_3.txt AC 392 ms 2560 KB
subtask_4_4.txt AC 389 ms 2560 KB
subtask_4_5.txt AC 333 ms 2560 KB
subtask_4_6.txt AC 66 ms 2560 KB
subtask_4_7.txt AC 236 ms 2560 KB
subtask_4_8.txt AC 384 ms 2560 KB
subtask_4_9.txt AC 195 ms 2560 KB