Submission #619554

#TimeUsernameProblemLanguageResultExecution timeMemory
619554someoneBoxes with souvenirs (IOI15_boxes)C++14
Compilation error
0 ms0 KiB
//#include "boxes.h"
#include <bits/stdc++.h>
using namespace std;
using ll = long long;

const int N = 1e6 + 42;

ll dp[N][2], pos[N];

ll delivery(int n, int k, int L, int p[]) {
    k = min(k, n);
    ll len = L;
    for(int i = 0; i < n; i++)
        pos[i] = p[i];

    for(int i = 0; i < k; i++)
        dp[i][0] = pos[i]*2;
    for(int i = k; i < n; i++)
        dp[i][0] = pos[i]*2 + dp[i - k][0];

    for(int i = n-1; i >= n-k; i--)
        dp[i][1] = (len - pos[i]) * 2;
    for(int i = n-k-1; i > -1; i--)
        dp[i][1] = (len - pos[i]) * 2 + dp[i + k][1];

    ll ans = min(dp[n-1][0], dp[0][1]);
    for(int i = 0; i < n-k; i++)
        ans = min(ans, len + dp[i][0] + dp[i+k+1][1]);
    return ans;
}

signed main() {
    ll n, k, l;
    cin >> n >> k >> l;
    vector<int> p(n);
    for(int& i : p)
        cin >> i;
    cout << delivery(n, k, l, p);
}

Compilation message (stderr)

boxes.cpp: In function 'int main()':
boxes.cpp:38:22: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
   38 |     cout << delivery(n, k, l, p);
      |                      ^
boxes.cpp:38:25: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
   38 |     cout << delivery(n, k, l, p);
      |                         ^
boxes.cpp:38:28: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
   38 |     cout << delivery(n, k, l, p);
      |                            ^
boxes.cpp:38:31: error: cannot convert 'std::vector<int>' to 'int*'
   38 |     cout << delivery(n, k, l, p);
      |                               ^
      |                               |
      |                               std::vector<int>
boxes.cpp:10:38: note:   initializing argument 4 of 'll delivery(int, int, int, int*)'
   10 | ll delivery(int n, int k, int L, int p[]) {
      |                                  ~~~~^~~