# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
572077 | 2022-06-03T13:46:47 Z | nohaxjustsoflo | Boxes with souvenirs (IOI15_boxes) | C++17 | 654 ms | 333040 KB |
#include <bits/stdc++.h> #include <iostream> using namespace std; typedef long long ll; typedef unsigned long long ull; typedef long double ld; #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace __gnu_pbds; typedef tree<ll,null_type,less<ll>,rb_tree_tag,tree_order_statistics_node_update> order_set; mt19937 mt_rand(chrono::high_resolution_clock::now().time_since_epoch().count()); //uniform_int_distribution<int> gen(-1e9, 1e8); ///(min, max) //int random() {return gen(mt_rand);} const int mxN = 1e6+50000; const int mod = 1e9+7; const int mxlogN = 34; const int mxK = 26; const ll inf = 1e18; const int K = 100000; ll delivery(int N, int K, int L, int p[]) { ll n=N, k=K; ll cnt=0; if(n%2==0) for(int i=0; i<n; i++) cnt+=p[i]==n/2; ll ans=cnt/k*n; cnt=cnt%k; vector<int> a; for(int i=0; i<n; i++) { if(n%2==0&&p[i]==n/2) { if(cnt) { cnt--; a.push_back(p[i]); } } else a.push_back(p[i]); } n=a.size(); vector<ll> pre(n), suf(n); for(int i=0; i<n; i++) { if(i>=k) pre[i]+=pre[i-k]; pre[i]+=a[i]*2; //cout << pre[i] << " "; } //cout << "\n"; for(int i=n-1; i>=0; i--) { if(i+k<n) suf[i]+=suf[i+k]; suf[i]+=(L-a[i])*2; //cout << suf[i] << " "; } //cout << "\n"; ll ans2=1e18; for(int j=0; j<3; j++) { for(int i=0; i+j*K<=n; i++) { //pre[i-1]+suf[i]; ans2=min(ans2,L*j+(i?pre[i-1]:0)+(i+j*K<n?suf[i+j*K]:0)); } } return ans+ans2; } /* int main() { ios_base::sync_with_stdio(0); cin.tie(0); int n,k,l; cin >> n >> k >> l; int p[n]; for(int i=0; i<n; i++) cin >> p[i]; cout << delivery(n,k,l,p) << "\n"; }*/ /* 3 2 8 1 2 5 */
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 212 KB | Output is correct |
2 | Correct | 1 ms | 316 KB | Output is correct |
3 | Correct | 0 ms | 212 KB | Output is correct |
4 | Correct | 0 ms | 308 KB | Output is correct |
5 | Correct | 1 ms | 340 KB | Output is correct |
6 | Correct | 1 ms | 340 KB | Output is correct |
7 | Correct | 1 ms | 340 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 308 KB | Output is correct |
2 | Correct | 1 ms | 212 KB | Output is correct |
3 | Correct | 1 ms | 340 KB | Output is correct |
4 | Correct | 1 ms | 340 KB | Output is correct |
5 | Correct | 1 ms | 340 KB | Output is correct |
6 | Correct | 1 ms | 340 KB | Output is correct |
7 | Correct | 1 ms | 212 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 312 KB | Output is correct |
2 | Correct | 1 ms | 304 KB | Output is correct |
3 | Correct | 1 ms | 212 KB | Output is correct |
4 | Correct | 1 ms | 212 KB | Output is correct |
5 | Correct | 0 ms | 304 KB | Output is correct |
6 | Correct | 1 ms | 212 KB | Output is correct |
7 | Correct | 0 ms | 212 KB | Output is correct |
8 | Correct | 1 ms | 212 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 212 KB | Output is correct |
2 | Correct | 1 ms | 316 KB | Output is correct |
3 | Correct | 0 ms | 212 KB | Output is correct |
4 | Correct | 0 ms | 308 KB | Output is correct |
5 | Correct | 1 ms | 340 KB | Output is correct |
6 | Correct | 1 ms | 340 KB | Output is correct |
7 | Correct | 1 ms | 340 KB | Output is correct |
8 | Correct | 1 ms | 308 KB | Output is correct |
9 | Correct | 1 ms | 212 KB | Output is correct |
10 | Correct | 1 ms | 340 KB | Output is correct |
11 | Correct | 1 ms | 340 KB | Output is correct |
12 | Correct | 1 ms | 340 KB | Output is correct |
13 | Correct | 1 ms | 340 KB | Output is correct |
14 | Correct | 1 ms | 212 KB | Output is correct |
15 | Correct | 1 ms | 312 KB | Output is correct |
16 | Correct | 1 ms | 304 KB | Output is correct |
17 | Correct | 1 ms | 212 KB | Output is correct |
18 | Correct | 1 ms | 212 KB | Output is correct |
19 | Correct | 0 ms | 304 KB | Output is correct |
20 | Correct | 1 ms | 212 KB | Output is correct |
21 | Correct | 0 ms | 212 KB | Output is correct |
22 | Correct | 1 ms | 212 KB | Output is correct |
23 | Correct | 1 ms | 316 KB | Output is correct |
24 | Correct | 1 ms | 212 KB | Output is correct |
25 | Correct | 0 ms | 212 KB | Output is correct |
26 | Correct | 1 ms | 340 KB | Output is correct |
27 | Correct | 1 ms | 320 KB | Output is correct |
28 | Correct | 1 ms | 340 KB | Output is correct |
29 | Correct | 1 ms | 312 KB | Output is correct |
30 | Correct | 0 ms | 212 KB | Output is correct |
31 | Correct | 1 ms | 340 KB | Output is correct |
32 | Correct | 1 ms | 212 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 212 KB | Output is correct |
2 | Correct | 1 ms | 316 KB | Output is correct |
3 | Correct | 0 ms | 212 KB | Output is correct |
4 | Correct | 0 ms | 308 KB | Output is correct |
5 | Correct | 1 ms | 340 KB | Output is correct |
6 | Correct | 1 ms | 340 KB | Output is correct |
7 | Correct | 1 ms | 340 KB | Output is correct |
8 | Correct | 1 ms | 308 KB | Output is correct |
9 | Correct | 1 ms | 212 KB | Output is correct |
10 | Correct | 1 ms | 340 KB | Output is correct |
11 | Correct | 1 ms | 340 KB | Output is correct |
12 | Correct | 1 ms | 340 KB | Output is correct |
13 | Correct | 1 ms | 340 KB | Output is correct |
14 | Correct | 1 ms | 212 KB | Output is correct |
15 | Correct | 1 ms | 312 KB | Output is correct |
16 | Correct | 1 ms | 304 KB | Output is correct |
17 | Correct | 1 ms | 212 KB | Output is correct |
18 | Correct | 1 ms | 212 KB | Output is correct |
19 | Correct | 0 ms | 304 KB | Output is correct |
20 | Correct | 1 ms | 212 KB | Output is correct |
21 | Correct | 0 ms | 212 KB | Output is correct |
22 | Correct | 1 ms | 212 KB | Output is correct |
23 | Correct | 1 ms | 316 KB | Output is correct |
24 | Correct | 1 ms | 212 KB | Output is correct |
25 | Correct | 0 ms | 212 KB | Output is correct |
26 | Correct | 1 ms | 340 KB | Output is correct |
27 | Correct | 1 ms | 320 KB | Output is correct |
28 | Correct | 1 ms | 340 KB | Output is correct |
29 | Correct | 1 ms | 312 KB | Output is correct |
30 | Correct | 0 ms | 212 KB | Output is correct |
31 | Correct | 1 ms | 340 KB | Output is correct |
32 | Correct | 1 ms | 212 KB | Output is correct |
33 | Correct | 62 ms | 33472 KB | Output is correct |
34 | Correct | 32 ms | 25840 KB | Output is correct |
35 | Correct | 31 ms | 26340 KB | Output is correct |
36 | Correct | 60 ms | 33564 KB | Output is correct |
37 | Correct | 61 ms | 33560 KB | Output is correct |
38 | Correct | 59 ms | 33716 KB | Output is correct |
39 | Correct | 53 ms | 32052 KB | Output is correct |
40 | Correct | 34 ms | 27524 KB | Output is correct |
41 | Correct | 59 ms | 33688 KB | Output is correct |
42 | Correct | 38 ms | 27812 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 212 KB | Output is correct |
2 | Correct | 1 ms | 316 KB | Output is correct |
3 | Correct | 0 ms | 212 KB | Output is correct |
4 | Correct | 0 ms | 308 KB | Output is correct |
5 | Correct | 1 ms | 340 KB | Output is correct |
6 | Correct | 1 ms | 340 KB | Output is correct |
7 | Correct | 1 ms | 340 KB | Output is correct |
8 | Correct | 1 ms | 308 KB | Output is correct |
9 | Correct | 1 ms | 212 KB | Output is correct |
10 | Correct | 1 ms | 340 KB | Output is correct |
11 | Correct | 1 ms | 340 KB | Output is correct |
12 | Correct | 1 ms | 340 KB | Output is correct |
13 | Correct | 1 ms | 340 KB | Output is correct |
14 | Correct | 1 ms | 212 KB | Output is correct |
15 | Correct | 1 ms | 312 KB | Output is correct |
16 | Correct | 1 ms | 304 KB | Output is correct |
17 | Correct | 1 ms | 212 KB | Output is correct |
18 | Correct | 1 ms | 212 KB | Output is correct |
19 | Correct | 0 ms | 304 KB | Output is correct |
20 | Correct | 1 ms | 212 KB | Output is correct |
21 | Correct | 0 ms | 212 KB | Output is correct |
22 | Correct | 1 ms | 212 KB | Output is correct |
23 | Correct | 1 ms | 316 KB | Output is correct |
24 | Correct | 1 ms | 212 KB | Output is correct |
25 | Correct | 0 ms | 212 KB | Output is correct |
26 | Correct | 1 ms | 340 KB | Output is correct |
27 | Correct | 1 ms | 320 KB | Output is correct |
28 | Correct | 1 ms | 340 KB | Output is correct |
29 | Correct | 1 ms | 312 KB | Output is correct |
30 | Correct | 0 ms | 212 KB | Output is correct |
31 | Correct | 1 ms | 340 KB | Output is correct |
32 | Correct | 1 ms | 212 KB | Output is correct |
33 | Correct | 62 ms | 33472 KB | Output is correct |
34 | Correct | 32 ms | 25840 KB | Output is correct |
35 | Correct | 31 ms | 26340 KB | Output is correct |
36 | Correct | 60 ms | 33564 KB | Output is correct |
37 | Correct | 61 ms | 33560 KB | Output is correct |
38 | Correct | 59 ms | 33716 KB | Output is correct |
39 | Correct | 53 ms | 32052 KB | Output is correct |
40 | Correct | 34 ms | 27524 KB | Output is correct |
41 | Correct | 59 ms | 33688 KB | Output is correct |
42 | Correct | 38 ms | 27812 KB | Output is correct |
43 | Correct | 654 ms | 331768 KB | Output is correct |
44 | Correct | 312 ms | 254808 KB | Output is correct |
45 | Correct | 343 ms | 262576 KB | Output is correct |
46 | Correct | 624 ms | 333008 KB | Output is correct |
47 | Correct | 629 ms | 332844 KB | Output is correct |
48 | Correct | 617 ms | 333040 KB | Output is correct |
49 | Correct | 608 ms | 317852 KB | Output is correct |
50 | Correct | 383 ms | 271692 KB | Output is correct |
51 | Correct | 631 ms | 332980 KB | Output is correct |
52 | Correct | 384 ms | 274336 KB | Output is correct |