Submission #238693

#TimeUsernameProblemLanguageResultExecution timeMemory
238693nicolaalexandraBoxes with souvenirs (IOI15_boxes)C++14
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>
#include "boxes.h"
#define DIM 10000010
using namespace std;

int dist_left[DIM],dist_right[DIM];

int delivery (int n, int k, int l, int v[]){
    int i, j, poz, poz2, sol = 0;

    for (i=0;i<n;i++){
        dist_left[i] = v[i];
        dist_right[i] = l - v[i];
    }

    for (i=0;i+k-1<n && dist_left[i+k-1] <= l/2;i+=k)
        sol += 2*dist_left[i+k-1];

    for (j=n-1;j-k+1>=i && dist_right[j-k+1] <= l/2;j-=k)
        sol += 2*dist_right[j-k+1];

    if (i > j)
        return sol;

    if (j-i+1 <= k){
        int val = min (l,min(2*dist_left[j],2*dist_right[i]));
        for (poz=i;dist_left[poz]<=l/2;poz++);
        for (poz2=j;poz2>=poz;poz2--);

        int nr = 0;
        if (poz > i)
            nr += 2*dist_left[poz-1];
        if (poz2 < j)
            nr += 2*dist_right[poz2+1];

        val = min (val,nr);

        return sol + val;
    }

    sol += l;

    int nr = j-i+1 - k;
    sol += min (dist_left[i+nr-1],dist_right[j-nr+1]) * 2;

    return sol;

}

Compilation message (stderr)

boxes.cpp: In function 'int delivery(int, int, int, int*)':
boxes.cpp:8:5: error: ambiguating new declaration of 'int delivery(int, int, int, int*)'
 int delivery (int n, int k, int l, int v[]){
     ^~~~~~~~
In file included from boxes.cpp:2:0:
boxes.h:4:11: note: old declaration 'long long int delivery(int, int, int, int*)'
 long long delivery(int N, int K, int L, int p[]);
           ^~~~~~~~