Submission #800711

# Submission time Handle Problem Language Result Execution time Memory
800711 2023-08-01T18:47:48 Z firewater Boxes with souvenirs (IOI15_boxes) C++14
100 / 100
503 ms 274336 KB
#include "boxes.h"
#include <stdio.h>
#include <stdlib.h>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define ll long long
using namespace std;




















#define N 10001000
ll n,k,ans,x,len,a[N],f[N],g[N];
long long delivery(int NN, int K, int L, int ppp[]) {
    n=NN;
    k=K;
    len=L;
    for(ll i=1;i<=n;++i)
        a[i]=ppp[i-1];
    memset(f,0x7f,sizeof(f));
    memset(g,0x7f,sizeof(g));
    ans=len*n;
    f[0]=0;
    g[n+1]=0;
    for(int i=1;i<=n;++i)
        f[i]=f[max(i-k,0ll)]+min(a[i]*2,len*2);
    for(int i=n;i>0;--i)
        g[i]=g[min(i+k,n+1)]+min((len-a[i])*2,len);
    for(int i=0;i<=n;++i)
        ans=min(ans,f[i]+g[i+1]);
    return ans;
}


Compilation message

boxes.cpp: In function 'long long int delivery(int, int, int, int*)':
boxes.cpp:45:15: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   45 |     for(int i=n;i>0;--i)
      |               ^
# Verdict Execution time Memory Grader output
1 Correct 59 ms 156752 KB Output is correct
2 Correct 49 ms 156780 KB Output is correct
3 Correct 50 ms 156764 KB Output is correct
4 Correct 50 ms 156856 KB Output is correct
5 Correct 51 ms 156764 KB Output is correct
6 Correct 50 ms 156828 KB Output is correct
7 Correct 57 ms 156852 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 49 ms 156860 KB Output is correct
2 Correct 49 ms 156880 KB Output is correct
3 Correct 50 ms 156748 KB Output is correct
4 Correct 49 ms 156820 KB Output is correct
5 Correct 49 ms 156872 KB Output is correct
6 Correct 50 ms 156876 KB Output is correct
7 Correct 50 ms 156756 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 50 ms 156848 KB Output is correct
2 Correct 49 ms 156748 KB Output is correct
3 Correct 50 ms 156824 KB Output is correct
4 Correct 50 ms 156860 KB Output is correct
5 Correct 56 ms 156748 KB Output is correct
6 Correct 54 ms 156820 KB Output is correct
7 Correct 51 ms 156820 KB Output is correct
8 Correct 53 ms 156812 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 59 ms 156752 KB Output is correct
2 Correct 49 ms 156780 KB Output is correct
3 Correct 50 ms 156764 KB Output is correct
4 Correct 50 ms 156856 KB Output is correct
5 Correct 51 ms 156764 KB Output is correct
6 Correct 50 ms 156828 KB Output is correct
7 Correct 57 ms 156852 KB Output is correct
8 Correct 49 ms 156860 KB Output is correct
9 Correct 49 ms 156880 KB Output is correct
10 Correct 50 ms 156748 KB Output is correct
11 Correct 49 ms 156820 KB Output is correct
12 Correct 49 ms 156872 KB Output is correct
13 Correct 50 ms 156876 KB Output is correct
14 Correct 50 ms 156756 KB Output is correct
15 Correct 50 ms 156848 KB Output is correct
16 Correct 49 ms 156748 KB Output is correct
17 Correct 50 ms 156824 KB Output is correct
18 Correct 50 ms 156860 KB Output is correct
19 Correct 56 ms 156748 KB Output is correct
20 Correct 54 ms 156820 KB Output is correct
21 Correct 51 ms 156820 KB Output is correct
22 Correct 53 ms 156812 KB Output is correct
23 Correct 49 ms 156828 KB Output is correct
24 Correct 51 ms 156884 KB Output is correct
25 Correct 50 ms 156796 KB Output is correct
26 Correct 50 ms 156772 KB Output is correct
27 Correct 58 ms 156824 KB Output is correct
28 Correct 51 ms 156780 KB Output is correct
29 Correct 54 ms 156908 KB Output is correct
30 Correct 49 ms 156752 KB Output is correct
31 Correct 50 ms 156776 KB Output is correct
32 Correct 49 ms 156876 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 59 ms 156752 KB Output is correct
2 Correct 49 ms 156780 KB Output is correct
3 Correct 50 ms 156764 KB Output is correct
4 Correct 50 ms 156856 KB Output is correct
5 Correct 51 ms 156764 KB Output is correct
6 Correct 50 ms 156828 KB Output is correct
7 Correct 57 ms 156852 KB Output is correct
8 Correct 49 ms 156860 KB Output is correct
9 Correct 49 ms 156880 KB Output is correct
10 Correct 50 ms 156748 KB Output is correct
11 Correct 49 ms 156820 KB Output is correct
12 Correct 49 ms 156872 KB Output is correct
13 Correct 50 ms 156876 KB Output is correct
14 Correct 50 ms 156756 KB Output is correct
15 Correct 50 ms 156848 KB Output is correct
16 Correct 49 ms 156748 KB Output is correct
17 Correct 50 ms 156824 KB Output is correct
18 Correct 50 ms 156860 KB Output is correct
19 Correct 56 ms 156748 KB Output is correct
20 Correct 54 ms 156820 KB Output is correct
21 Correct 51 ms 156820 KB Output is correct
22 Correct 53 ms 156812 KB Output is correct
23 Correct 49 ms 156828 KB Output is correct
24 Correct 51 ms 156884 KB Output is correct
25 Correct 50 ms 156796 KB Output is correct
26 Correct 50 ms 156772 KB Output is correct
27 Correct 58 ms 156824 KB Output is correct
28 Correct 51 ms 156780 KB Output is correct
29 Correct 54 ms 156908 KB Output is correct
30 Correct 49 ms 156752 KB Output is correct
31 Correct 50 ms 156776 KB Output is correct
32 Correct 49 ms 156876 KB Output is correct
33 Correct 92 ms 168552 KB Output is correct
34 Correct 62 ms 168556 KB Output is correct
35 Correct 65 ms 168576 KB Output is correct
36 Correct 89 ms 168564 KB Output is correct
37 Correct 92 ms 168544 KB Output is correct
38 Correct 91 ms 168536 KB Output is correct
39 Correct 84 ms 168524 KB Output is correct
40 Correct 68 ms 168520 KB Output is correct
41 Correct 89 ms 168548 KB Output is correct
42 Correct 69 ms 168524 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 59 ms 156752 KB Output is correct
2 Correct 49 ms 156780 KB Output is correct
3 Correct 50 ms 156764 KB Output is correct
4 Correct 50 ms 156856 KB Output is correct
5 Correct 51 ms 156764 KB Output is correct
6 Correct 50 ms 156828 KB Output is correct
7 Correct 57 ms 156852 KB Output is correct
8 Correct 49 ms 156860 KB Output is correct
9 Correct 49 ms 156880 KB Output is correct
10 Correct 50 ms 156748 KB Output is correct
11 Correct 49 ms 156820 KB Output is correct
12 Correct 49 ms 156872 KB Output is correct
13 Correct 50 ms 156876 KB Output is correct
14 Correct 50 ms 156756 KB Output is correct
15 Correct 50 ms 156848 KB Output is correct
16 Correct 49 ms 156748 KB Output is correct
17 Correct 50 ms 156824 KB Output is correct
18 Correct 50 ms 156860 KB Output is correct
19 Correct 56 ms 156748 KB Output is correct
20 Correct 54 ms 156820 KB Output is correct
21 Correct 51 ms 156820 KB Output is correct
22 Correct 53 ms 156812 KB Output is correct
23 Correct 49 ms 156828 KB Output is correct
24 Correct 51 ms 156884 KB Output is correct
25 Correct 50 ms 156796 KB Output is correct
26 Correct 50 ms 156772 KB Output is correct
27 Correct 58 ms 156824 KB Output is correct
28 Correct 51 ms 156780 KB Output is correct
29 Correct 54 ms 156908 KB Output is correct
30 Correct 49 ms 156752 KB Output is correct
31 Correct 50 ms 156776 KB Output is correct
32 Correct 49 ms 156876 KB Output is correct
33 Correct 92 ms 168552 KB Output is correct
34 Correct 62 ms 168556 KB Output is correct
35 Correct 65 ms 168576 KB Output is correct
36 Correct 89 ms 168564 KB Output is correct
37 Correct 92 ms 168544 KB Output is correct
38 Correct 91 ms 168536 KB Output is correct
39 Correct 84 ms 168524 KB Output is correct
40 Correct 68 ms 168520 KB Output is correct
41 Correct 89 ms 168548 KB Output is correct
42 Correct 69 ms 168524 KB Output is correct
43 Correct 503 ms 274196 KB Output is correct
44 Correct 188 ms 274252 KB Output is correct
45 Correct 233 ms 274336 KB Output is correct
46 Correct 453 ms 274184 KB Output is correct
47 Correct 454 ms 274288 KB Output is correct
48 Correct 448 ms 274284 KB Output is correct
49 Correct 409 ms 274252 KB Output is correct
50 Correct 240 ms 274280 KB Output is correct
51 Correct 454 ms 274292 KB Output is correct
52 Correct 247 ms 274288 KB Output is correct