#include "boxes.h"
#include <bits/stdc++.h>
using namespace std;
const long long INFll = (long long) 1e18 + 10;
const int INFii = (int) 1e9 + 10;
typedef long long ll;
typedef int ii;
typedef long double dbl;
#define endl '\n'
#define sc second
#define fr first
#define mp make_pair
#define pb push_back
#define all(x) x.begin(), x.end()
#define maxn 1100
ll n, kt;
ll mark1[maxn][maxn], dp1[maxn][maxn], x1[maxn];
ll mark2[maxn][maxn], dp2[maxn][maxn], x2[maxn];
ll sol1(ll i, ll k) {
if(i == 0) return 0;
if(mark1[i][k]) return dp1[i][k];
mark1[i][k] = 1;
ll ans = INFll;
if(k != 0) {
ans = min(ans, sol1(i,0) + 2*min(x1[i],x2[n-i+1]));
}
if(k != kt) ans = min(ans, sol1(i-1,k+1));
return dp1[i][k] = ans;
}
ll sol2(ll i, ll k) {
if(i == 0) return 0;
if(mark2[i][k]) return dp2[i][k];
mark2[i][k] = 1;
ll ans = INFll;
if(k != 0) {
ans = min(ans, sol2(i,0) + 2*min(x1[n-i+1],x2[i]));
}
if(k != kt) ans = min(ans, sol2(i-1,k+1));
return dp2[i][k] = ans;
}
long long delivery(int N, int K, int L, int p[]) {
L--;
n = N;
kt = K;
for(ii i = 1; i <= n; i++) {
x1[i] = p[i-1];
x2[i] = L-x1[i]+1;
}
reverse(x2+1,x2+1+n);
ll ans = INFll;
for(ii i = 0; i <= n; i++) {
ans = min(ans, (sol1(i,0) + x1[i] + min(x1[i],x2[n-i+1])) + (sol2(n-i,0) + x2[n-i] + min(x2[n-i],x1[i+1])));
}
return ans;
}
/*
int main() {
ios::sync_with_stdio(false); cin.tie(0);
freopen("in.in", "r", stdin);
//freopen("out.out", "w", stdout);
ii N, K, L;
cin >> N >> K >> L;
vector<ii> p;
for(ii i = 0; i < N; i++) {
ii aa; cin >> aa;
p.pb(aa);
}
L--;
n = N;
kt = K;
for(ii i = 1; i <= n; i++) {
x1[i] = p[i-1];
x2[i] = L-x1[i]+1;
}
reverse(x2+1,x2+1+n);
ll ans = INFii;
for(ii i = 0; i <= n; i++) {
ans = min(ans, (sol1(i,0) + x1[i] + min(x1[i],x2[n-i+1])) + (sol2(n-i,0) + x2[n-i] + min(x2[n-i],x1[i+1])));
}
cout << ans << endl;
}
*/
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
332 KB |
Output is correct |
2 |
Correct |
7 ms |
16332 KB |
Output is correct |
3 |
Correct |
7 ms |
16432 KB |
Output is correct |
4 |
Correct |
10 ms |
16460 KB |
Output is correct |
5 |
Correct |
7 ms |
16460 KB |
Output is correct |
6 |
Correct |
7 ms |
16440 KB |
Output is correct |
7 |
Correct |
8 ms |
16460 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
33 ms |
29336 KB |
Output is correct |
2 |
Correct |
34 ms |
29368 KB |
Output is correct |
3 |
Correct |
34 ms |
29260 KB |
Output is correct |
4 |
Correct |
34 ms |
29284 KB |
Output is correct |
5 |
Correct |
34 ms |
29268 KB |
Output is correct |
6 |
Correct |
33 ms |
29340 KB |
Output is correct |
7 |
Correct |
42 ms |
29252 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
460 KB |
Output is correct |
2 |
Correct |
1 ms |
460 KB |
Output is correct |
3 |
Correct |
1 ms |
460 KB |
Output is correct |
4 |
Correct |
0 ms |
460 KB |
Output is correct |
5 |
Correct |
1 ms |
460 KB |
Output is correct |
6 |
Correct |
1 ms |
460 KB |
Output is correct |
7 |
Correct |
0 ms |
460 KB |
Output is correct |
8 |
Correct |
1 ms |
460 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
332 KB |
Output is correct |
2 |
Correct |
7 ms |
16332 KB |
Output is correct |
3 |
Correct |
7 ms |
16432 KB |
Output is correct |
4 |
Correct |
10 ms |
16460 KB |
Output is correct |
5 |
Correct |
7 ms |
16460 KB |
Output is correct |
6 |
Correct |
7 ms |
16440 KB |
Output is correct |
7 |
Correct |
8 ms |
16460 KB |
Output is correct |
8 |
Correct |
33 ms |
29336 KB |
Output is correct |
9 |
Correct |
34 ms |
29368 KB |
Output is correct |
10 |
Correct |
34 ms |
29260 KB |
Output is correct |
11 |
Correct |
34 ms |
29284 KB |
Output is correct |
12 |
Correct |
34 ms |
29268 KB |
Output is correct |
13 |
Correct |
33 ms |
29340 KB |
Output is correct |
14 |
Correct |
42 ms |
29252 KB |
Output is correct |
15 |
Correct |
1 ms |
460 KB |
Output is correct |
16 |
Correct |
1 ms |
460 KB |
Output is correct |
17 |
Correct |
1 ms |
460 KB |
Output is correct |
18 |
Correct |
0 ms |
460 KB |
Output is correct |
19 |
Correct |
1 ms |
460 KB |
Output is correct |
20 |
Correct |
1 ms |
460 KB |
Output is correct |
21 |
Correct |
0 ms |
460 KB |
Output is correct |
22 |
Correct |
1 ms |
460 KB |
Output is correct |
23 |
Correct |
34 ms |
29352 KB |
Output is correct |
24 |
Correct |
33 ms |
28096 KB |
Output is correct |
25 |
Correct |
8 ms |
16492 KB |
Output is correct |
26 |
Correct |
24 ms |
28108 KB |
Output is correct |
27 |
Correct |
14 ms |
22060 KB |
Output is correct |
28 |
Correct |
14 ms |
22092 KB |
Output is correct |
29 |
Correct |
34 ms |
29376 KB |
Output is correct |
30 |
Correct |
25 ms |
28148 KB |
Output is correct |
31 |
Correct |
20 ms |
24392 KB |
Output is correct |
32 |
Correct |
24 ms |
26328 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
332 KB |
Output is correct |
2 |
Correct |
7 ms |
16332 KB |
Output is correct |
3 |
Correct |
7 ms |
16432 KB |
Output is correct |
4 |
Correct |
10 ms |
16460 KB |
Output is correct |
5 |
Correct |
7 ms |
16460 KB |
Output is correct |
6 |
Correct |
7 ms |
16440 KB |
Output is correct |
7 |
Correct |
8 ms |
16460 KB |
Output is correct |
8 |
Correct |
33 ms |
29336 KB |
Output is correct |
9 |
Correct |
34 ms |
29368 KB |
Output is correct |
10 |
Correct |
34 ms |
29260 KB |
Output is correct |
11 |
Correct |
34 ms |
29284 KB |
Output is correct |
12 |
Correct |
34 ms |
29268 KB |
Output is correct |
13 |
Correct |
33 ms |
29340 KB |
Output is correct |
14 |
Correct |
42 ms |
29252 KB |
Output is correct |
15 |
Correct |
1 ms |
460 KB |
Output is correct |
16 |
Correct |
1 ms |
460 KB |
Output is correct |
17 |
Correct |
1 ms |
460 KB |
Output is correct |
18 |
Correct |
0 ms |
460 KB |
Output is correct |
19 |
Correct |
1 ms |
460 KB |
Output is correct |
20 |
Correct |
1 ms |
460 KB |
Output is correct |
21 |
Correct |
0 ms |
460 KB |
Output is correct |
22 |
Correct |
1 ms |
460 KB |
Output is correct |
23 |
Correct |
34 ms |
29352 KB |
Output is correct |
24 |
Correct |
33 ms |
28096 KB |
Output is correct |
25 |
Correct |
8 ms |
16492 KB |
Output is correct |
26 |
Correct |
24 ms |
28108 KB |
Output is correct |
27 |
Correct |
14 ms |
22060 KB |
Output is correct |
28 |
Correct |
14 ms |
22092 KB |
Output is correct |
29 |
Correct |
34 ms |
29376 KB |
Output is correct |
30 |
Correct |
25 ms |
28148 KB |
Output is correct |
31 |
Correct |
20 ms |
24392 KB |
Output is correct |
32 |
Correct |
24 ms |
26328 KB |
Output is correct |
33 |
Runtime error |
60 ms |
49736 KB |
Execution killed with signal 11 |
34 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
332 KB |
Output is correct |
2 |
Correct |
7 ms |
16332 KB |
Output is correct |
3 |
Correct |
7 ms |
16432 KB |
Output is correct |
4 |
Correct |
10 ms |
16460 KB |
Output is correct |
5 |
Correct |
7 ms |
16460 KB |
Output is correct |
6 |
Correct |
7 ms |
16440 KB |
Output is correct |
7 |
Correct |
8 ms |
16460 KB |
Output is correct |
8 |
Correct |
33 ms |
29336 KB |
Output is correct |
9 |
Correct |
34 ms |
29368 KB |
Output is correct |
10 |
Correct |
34 ms |
29260 KB |
Output is correct |
11 |
Correct |
34 ms |
29284 KB |
Output is correct |
12 |
Correct |
34 ms |
29268 KB |
Output is correct |
13 |
Correct |
33 ms |
29340 KB |
Output is correct |
14 |
Correct |
42 ms |
29252 KB |
Output is correct |
15 |
Correct |
1 ms |
460 KB |
Output is correct |
16 |
Correct |
1 ms |
460 KB |
Output is correct |
17 |
Correct |
1 ms |
460 KB |
Output is correct |
18 |
Correct |
0 ms |
460 KB |
Output is correct |
19 |
Correct |
1 ms |
460 KB |
Output is correct |
20 |
Correct |
1 ms |
460 KB |
Output is correct |
21 |
Correct |
0 ms |
460 KB |
Output is correct |
22 |
Correct |
1 ms |
460 KB |
Output is correct |
23 |
Correct |
34 ms |
29352 KB |
Output is correct |
24 |
Correct |
33 ms |
28096 KB |
Output is correct |
25 |
Correct |
8 ms |
16492 KB |
Output is correct |
26 |
Correct |
24 ms |
28108 KB |
Output is correct |
27 |
Correct |
14 ms |
22060 KB |
Output is correct |
28 |
Correct |
14 ms |
22092 KB |
Output is correct |
29 |
Correct |
34 ms |
29376 KB |
Output is correct |
30 |
Correct |
25 ms |
28148 KB |
Output is correct |
31 |
Correct |
20 ms |
24392 KB |
Output is correct |
32 |
Correct |
24 ms |
26328 KB |
Output is correct |
33 |
Runtime error |
60 ms |
49736 KB |
Execution killed with signal 11 |
34 |
Halted |
0 ms |
0 KB |
- |