Submission #1001721
Source Code Expand
#include <bits/stdc++.h> using namespace std; typedef vector<int> VI; typedef vector<VI> VVI; typedef vector<string> VS; typedef pair<int, int> PII; typedef long long LL; typedef pair<LL, LL> PLL; #define ALL(a) (a).begin(),(a).end() #define RALL(a) (a).rbegin(), (a).rend() #define PB push_back #define EB emplace_back #define MP make_pair #define SZ(a) int((a).size()) #define SORT(c) sort((c).begin(),(c).end()) #define FOR(i,a,b) for(int i=(a);i<(b);++i) #define REP(i,n) FOR(i,0,n) #define FF first #define SS second template<class S, class T> istream& operator>>(istream& is, pair<S,T>& p){ return is >> p.FF >> p.SS; } const double EPS = 1e-10; const double PI = acos(-1.0); const LL MOD = 1e9+7; LL dp[310][100010]; LL mx[310][100010]; // 幅Wの窓で値pを追加した時の最大値 void add(deque<PLL>& dq, PLL p, int W){ while(!dq.empty() && dq.back().FF < p.FF) dq.pop_back(); dq.push_back(p); while(!dq.empty() && p.SS - dq.front().SS + 1 > W) dq.pop_front(); } int main(){ cin.tie(0); ios_base::sync_with_stdio(false); LL N, M, K; cin >> N >> M >> K; vector<LL> xs(N); REP(i,N) cin >> xs[i]; deque<PLL> dq; REP(i,N){ dp[1][i] = xs[i]; add(dq, MP(dp[1][i],i), M); mx[1][i] = dq.front().FF; } for(LL i=2;i<=K;++i){ dq.clear(); for(int j=i-1;j<N;++j){ LL nxt = mx[i-1][j-1] + i * xs[j]; dp[i][j] = max(dp[i][j], nxt); add(dq, MP(dp[i][j],j), M); mx[i][j] = dq.front().FF; } } LL ans = 0; REP(i,N) ans = max(ans, dp[K][i]); cout << ans << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | A - Struck Out |
User | okaduki |
Language | C++14 (GCC 5.4.1) |
Score | 700 |
Code Size | 1967 Byte |
Status | AC |
Exec Time | 1226 ms |
Memory | 469888 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, 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 | 3 ms | 256 KB |
sample_2.txt | AC | 3 ms | 256 KB |
sample_3.txt | AC | 3 ms | 256 KB |
subtask_1_1.txt | AC | 4 ms | 512 KB |
subtask_1_2.txt | AC | 118 ms | 49024 KB |
subtask_1_3.txt | AC | 1128 ms | 469888 KB |
subtask_1_4.txt | AC | 10 ms | 3072 KB |
subtask_1_5.txt | AC | 32 ms | 8832 KB |
subtask_1_6.txt | AC | 8 ms | 2304 KB |
subtask_1_7.txt | AC | 387 ms | 157312 KB |
subtask_1_8.txt | AC | 1126 ms | 469888 KB |
subtask_1_9.txt | AC | 12 ms | 4480 KB |
subtask_2_1.txt | AC | 4 ms | 640 KB |
subtask_2_2.txt | AC | 3 ms | 384 KB |
subtask_2_3.txt | AC | 3 ms | 512 KB |
subtask_2_4.txt | AC | 4 ms | 640 KB |
subtask_2_5.txt | AC | 3 ms | 512 KB |
subtask_2_6.txt | AC | 3 ms | 512 KB |
subtask_2_7.txt | AC | 4 ms | 640 KB |
subtask_2_8.txt | AC | 4 ms | 640 KB |
subtask_2_9.txt | AC | 3 ms | 512 KB |
subtask_3_1.txt | AC | 126 ms | 47872 KB |
subtask_3_2.txt | AC | 133 ms | 47872 KB |
subtask_3_3.txt | AC | 127 ms | 46336 KB |
subtask_3_4.txt | AC | 105 ms | 38656 KB |
subtask_3_5.txt | AC | 9 ms | 2816 KB |
subtask_3_6.txt | AC | 72 ms | 24448 KB |
subtask_3_7.txt | AC | 126 ms | 47872 KB |
subtask_3_8.txt | AC | 15 ms | 5248 KB |
subtask_3_9.txt | AC | 132 ms | 47872 KB |
subtask_4_1.txt | AC | 1124 ms | 469888 KB |
subtask_4_10.txt | AC | 1135 ms | 469888 KB |
subtask_4_11.txt | AC | 1212 ms | 469888 KB |
subtask_4_12.txt | AC | 1206 ms | 469888 KB |
subtask_4_13.txt | AC | 1195 ms | 469888 KB |
subtask_4_2.txt | AC | 1196 ms | 469888 KB |
subtask_4_3.txt | AC | 1133 ms | 469888 KB |
subtask_4_4.txt | AC | 1226 ms | 469888 KB |
subtask_4_5.txt | AC | 996 ms | 397952 KB |
subtask_4_6.txt | AC | 99 ms | 36992 KB |
subtask_4_7.txt | AC | 633 ms | 247936 KB |
subtask_4_8.txt | AC | 1140 ms | 465536 KB |
subtask_4_9.txt | AC | 532 ms | 207360 KB |