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 |
|
|
|
|
|
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 |