#include "boxes.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
deque<ll> pd;
deque<ll> dpd;
void addElement(ll el, deque<ll> &d){
while (d.size()>0&&d.back()>el){
d.pop_back();
}
d.push_back(el);
}
void removeElement(ll el, deque<ll> &d){
if (d.front()==el){
d.pop_front();
}
}
long long delivery(int N, int K, int L, int p[]) {
ll n = N, k=K, l=L;
vector<ll> dp(n+1,0);
//multiset<ll> pset;
//multiset<ll> dpset;
for (ll i = 1; i<=n; i++){
/*ll minval = -1;
for (ll j = max((i-k+1),0LL); j<=i; j++){
//from j to i inclusive.
ll val = min((l-p[j])*2LL,min(l,p[i]*2LL));
if (j>0){
val+=dp[j-1];
}
if (minval==-1||minval>val){
minval=val;
}
}*/
addElement((l-p[i-1])*2+dp[i-1],pd);
addElement(dp[i-1],dpd);
if (i-k-1>=0){
ll prem=(l-p[i-k-1])*2;
prem+=dp[i-k-1];
ll dprem=dp[i-k-1];
removeElement(dprem,dpd);
removeElement(prem,pd);
}
//cout<<"pset ";for (ll it : pset){cout<<it<<" ";}cout<<endl;
//cout<<"dpset ";for (ll it : dpset){cout<<it<<" ";}cout<<endl;
ll a=0,b=l,c=p[i-1]*2;
if (pd.size()>0){
a = pd.front();
}
if (dpd.size()>0){
b+=dpd.front();
c+=dpd.front();
}
dp[i]=min(min(a,b),c);
//cout<<dp[i]<<endl;
}
return dp[n];
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
256 KB |
Output is correct |
2 |
Correct |
2 ms |
256 KB |
Output is correct |
3 |
Correct |
2 ms |
376 KB |
Output is correct |
4 |
Correct |
2 ms |
376 KB |
Output is correct |
5 |
Correct |
2 ms |
376 KB |
Output is correct |
6 |
Correct |
2 ms |
376 KB |
Output is correct |
7 |
Correct |
2 ms |
376 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
376 KB |
Output is correct |
2 |
Correct |
2 ms |
376 KB |
Output is correct |
3 |
Correct |
2 ms |
376 KB |
Output is correct |
4 |
Correct |
2 ms |
376 KB |
Output is correct |
5 |
Correct |
2 ms |
376 KB |
Output is correct |
6 |
Correct |
2 ms |
376 KB |
Output is correct |
7 |
Correct |
2 ms |
376 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
256 KB |
Output is correct |
2 |
Correct |
2 ms |
376 KB |
Output is correct |
3 |
Correct |
2 ms |
256 KB |
Output is correct |
4 |
Correct |
2 ms |
256 KB |
Output is correct |
5 |
Correct |
2 ms |
296 KB |
Output is correct |
6 |
Correct |
2 ms |
256 KB |
Output is correct |
7 |
Correct |
2 ms |
376 KB |
Output is correct |
8 |
Correct |
2 ms |
376 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
256 KB |
Output is correct |
2 |
Correct |
2 ms |
256 KB |
Output is correct |
3 |
Correct |
2 ms |
376 KB |
Output is correct |
4 |
Correct |
2 ms |
376 KB |
Output is correct |
5 |
Correct |
2 ms |
376 KB |
Output is correct |
6 |
Correct |
2 ms |
376 KB |
Output is correct |
7 |
Correct |
2 ms |
376 KB |
Output is correct |
8 |
Correct |
2 ms |
376 KB |
Output is correct |
9 |
Correct |
2 ms |
376 KB |
Output is correct |
10 |
Correct |
2 ms |
376 KB |
Output is correct |
11 |
Correct |
2 ms |
376 KB |
Output is correct |
12 |
Correct |
2 ms |
376 KB |
Output is correct |
13 |
Correct |
2 ms |
376 KB |
Output is correct |
14 |
Correct |
2 ms |
376 KB |
Output is correct |
15 |
Correct |
2 ms |
256 KB |
Output is correct |
16 |
Correct |
2 ms |
376 KB |
Output is correct |
17 |
Correct |
2 ms |
256 KB |
Output is correct |
18 |
Correct |
2 ms |
256 KB |
Output is correct |
19 |
Correct |
2 ms |
296 KB |
Output is correct |
20 |
Correct |
2 ms |
256 KB |
Output is correct |
21 |
Correct |
2 ms |
376 KB |
Output is correct |
22 |
Correct |
2 ms |
376 KB |
Output is correct |
23 |
Correct |
2 ms |
376 KB |
Output is correct |
24 |
Correct |
2 ms |
376 KB |
Output is correct |
25 |
Correct |
2 ms |
376 KB |
Output is correct |
26 |
Correct |
2 ms |
380 KB |
Output is correct |
27 |
Correct |
2 ms |
376 KB |
Output is correct |
28 |
Correct |
2 ms |
376 KB |
Output is correct |
29 |
Correct |
2 ms |
376 KB |
Output is correct |
30 |
Correct |
2 ms |
376 KB |
Output is correct |
31 |
Correct |
2 ms |
376 KB |
Output is correct |
32 |
Correct |
2 ms |
376 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
256 KB |
Output is correct |
2 |
Correct |
2 ms |
256 KB |
Output is correct |
3 |
Correct |
2 ms |
376 KB |
Output is correct |
4 |
Correct |
2 ms |
376 KB |
Output is correct |
5 |
Correct |
2 ms |
376 KB |
Output is correct |
6 |
Correct |
2 ms |
376 KB |
Output is correct |
7 |
Correct |
2 ms |
376 KB |
Output is correct |
8 |
Correct |
2 ms |
376 KB |
Output is correct |
9 |
Correct |
2 ms |
376 KB |
Output is correct |
10 |
Correct |
2 ms |
376 KB |
Output is correct |
11 |
Correct |
2 ms |
376 KB |
Output is correct |
12 |
Correct |
2 ms |
376 KB |
Output is correct |
13 |
Correct |
2 ms |
376 KB |
Output is correct |
14 |
Correct |
2 ms |
376 KB |
Output is correct |
15 |
Correct |
2 ms |
256 KB |
Output is correct |
16 |
Correct |
2 ms |
376 KB |
Output is correct |
17 |
Correct |
2 ms |
256 KB |
Output is correct |
18 |
Correct |
2 ms |
256 KB |
Output is correct |
19 |
Correct |
2 ms |
296 KB |
Output is correct |
20 |
Correct |
2 ms |
256 KB |
Output is correct |
21 |
Correct |
2 ms |
376 KB |
Output is correct |
22 |
Correct |
2 ms |
376 KB |
Output is correct |
23 |
Correct |
2 ms |
376 KB |
Output is correct |
24 |
Correct |
2 ms |
376 KB |
Output is correct |
25 |
Correct |
2 ms |
376 KB |
Output is correct |
26 |
Correct |
2 ms |
380 KB |
Output is correct |
27 |
Correct |
2 ms |
376 KB |
Output is correct |
28 |
Correct |
2 ms |
376 KB |
Output is correct |
29 |
Correct |
2 ms |
376 KB |
Output is correct |
30 |
Correct |
2 ms |
376 KB |
Output is correct |
31 |
Correct |
2 ms |
376 KB |
Output is correct |
32 |
Correct |
2 ms |
376 KB |
Output is correct |
33 |
Correct |
74 ms |
21908 KB |
Output is correct |
34 |
Correct |
42 ms |
14072 KB |
Output is correct |
35 |
Correct |
44 ms |
14472 KB |
Output is correct |
36 |
Correct |
75 ms |
21880 KB |
Output is correct |
37 |
Correct |
73 ms |
22008 KB |
Output is correct |
38 |
Correct |
74 ms |
21780 KB |
Output is correct |
39 |
Correct |
70 ms |
20344 KB |
Output is correct |
40 |
Correct |
50 ms |
15736 KB |
Output is correct |
41 |
Correct |
82 ms |
21896 KB |
Output is correct |
42 |
Correct |
51 ms |
15992 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
256 KB |
Output is correct |
2 |
Correct |
2 ms |
256 KB |
Output is correct |
3 |
Correct |
2 ms |
376 KB |
Output is correct |
4 |
Correct |
2 ms |
376 KB |
Output is correct |
5 |
Correct |
2 ms |
376 KB |
Output is correct |
6 |
Correct |
2 ms |
376 KB |
Output is correct |
7 |
Correct |
2 ms |
376 KB |
Output is correct |
8 |
Correct |
2 ms |
376 KB |
Output is correct |
9 |
Correct |
2 ms |
376 KB |
Output is correct |
10 |
Correct |
2 ms |
376 KB |
Output is correct |
11 |
Correct |
2 ms |
376 KB |
Output is correct |
12 |
Correct |
2 ms |
376 KB |
Output is correct |
13 |
Correct |
2 ms |
376 KB |
Output is correct |
14 |
Correct |
2 ms |
376 KB |
Output is correct |
15 |
Correct |
2 ms |
256 KB |
Output is correct |
16 |
Correct |
2 ms |
376 KB |
Output is correct |
17 |
Correct |
2 ms |
256 KB |
Output is correct |
18 |
Correct |
2 ms |
256 KB |
Output is correct |
19 |
Correct |
2 ms |
296 KB |
Output is correct |
20 |
Correct |
2 ms |
256 KB |
Output is correct |
21 |
Correct |
2 ms |
376 KB |
Output is correct |
22 |
Correct |
2 ms |
376 KB |
Output is correct |
23 |
Correct |
2 ms |
376 KB |
Output is correct |
24 |
Correct |
2 ms |
376 KB |
Output is correct |
25 |
Correct |
2 ms |
376 KB |
Output is correct |
26 |
Correct |
2 ms |
380 KB |
Output is correct |
27 |
Correct |
2 ms |
376 KB |
Output is correct |
28 |
Correct |
2 ms |
376 KB |
Output is correct |
29 |
Correct |
2 ms |
376 KB |
Output is correct |
30 |
Correct |
2 ms |
376 KB |
Output is correct |
31 |
Correct |
2 ms |
376 KB |
Output is correct |
32 |
Correct |
2 ms |
376 KB |
Output is correct |
33 |
Correct |
74 ms |
21908 KB |
Output is correct |
34 |
Correct |
42 ms |
14072 KB |
Output is correct |
35 |
Correct |
44 ms |
14472 KB |
Output is correct |
36 |
Correct |
75 ms |
21880 KB |
Output is correct |
37 |
Correct |
73 ms |
22008 KB |
Output is correct |
38 |
Correct |
74 ms |
21780 KB |
Output is correct |
39 |
Correct |
70 ms |
20344 KB |
Output is correct |
40 |
Correct |
50 ms |
15736 KB |
Output is correct |
41 |
Correct |
82 ms |
21896 KB |
Output is correct |
42 |
Correct |
51 ms |
15992 KB |
Output is correct |
43 |
Correct |
813 ms |
230804 KB |
Output is correct |
44 |
Correct |
413 ms |
145636 KB |
Output is correct |
45 |
Correct |
437 ms |
145152 KB |
Output is correct |
46 |
Correct |
730 ms |
223744 KB |
Output is correct |
47 |
Correct |
720 ms |
218960 KB |
Output is correct |
48 |
Correct |
719 ms |
215584 KB |
Output is correct |
49 |
Correct |
747 ms |
216160 KB |
Output is correct |
50 |
Correct |
502 ms |
162468 KB |
Output is correct |
51 |
Correct |
769 ms |
217984 KB |
Output is correct |
52 |
Correct |
520 ms |
161008 KB |
Output is correct |