Submission #163599

#TimeUsernameProblemLanguageResultExecution timeMemory
163599Knps4422Boxes with souvenirs (IOI15_boxes)C++14
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> #include "boxes.h" #define ll long long #define fr first #define sc second #define pb push_back using namespace std; ll n; ll pos[1000005]; ll cl[1000005], ct[1000005]; ll mid_of_circle; void find1(){ int l = 1 , r = n; int mid = (l+r)/2; while(l < r){ mid = (l+r)/2; if(pos[mid] >= L/2){ r = mid; }else{ l = mid+1; } } // l is the first position after the middle of the circle mid_of_circle = l; } int delivery(int n1, k, L, ps[]){ n = n1; for(int i = 1; i <= n ; i++){ pos[i] = ps[i-1]; } // cl[i] - result if we take only the first i positions for(ll i = 1; i <= n ; i++){ cl[i] = cl[max((ll)0,i-k)] + 2*pos[i]; } // ct[i] - result if we take only the last positions from i to n for(ll i = n; i > 0 ; i--){ ct[i] = ct[min(n+1,i+k)] + 2*(L - pos[i]); } find1(); ll rez = 1e18+7; for(ll i = 0 ; i < mid_of_circle ; i++){ ll new_rez; for(ll j = 0; i + k*j <= n ; j++){ if(i + k*j + 1 >= mid_of_circle){ new_rez = cl[i] + j*L + ct[i + k*j + 1]; rez = min(rez,new_rez); } } } cout << rez << '\n'; }

Compilation message (stderr)

boxes.cpp: In function 'void find1()':
boxes.cpp:14:18: warning: conversion to 'int' from 'long long int' may alter its value [-Wconversion]
  int l = 1 , r = n;
                  ^
boxes.cpp:18:18: error: 'L' was not declared in this scope
   if(pos[mid] >= L/2){
                  ^
boxes.cpp: At global scope:
boxes.cpp:27:22: error: 'k' has not been declared
 int delivery(int n1, k, L, ps[]){
                      ^
boxes.cpp:27:25: error: 'L' has not been declared
 int delivery(int n1, k, L, ps[]){
                         ^
boxes.cpp:27:28: error: 'ps' has not been declared
 int delivery(int n1, k, L, ps[]){
                            ^~
boxes.cpp: In function 'int delivery(int, int, int, int*)':
boxes.cpp:27:5: error: ambiguating new declaration of 'int delivery(int, int, int, int*)'
 int delivery(int n1, k, L, ps[]){
     ^~~~~~~~
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[]);
           ^~~~~~~~
boxes.cpp:30:12: error: 'ps' was not declared in this scope
   pos[i] = ps[i-1];
            ^~
boxes.cpp:30:12: note: suggested alternative: 'pos'
   pos[i] = ps[i-1];
            ^~
            pos
boxes.cpp:34:26: error: 'k' was not declared in this scope
   cl[i] = cl[max((ll)0,i-k)] + 2*pos[i];
                          ^
boxes.cpp:38:24: error: 'k' was not declared in this scope
   ct[i] = ct[min(n+1,i+k)] + 2*(L - pos[i]);
                        ^
boxes.cpp:38:33: error: 'L' was not declared in this scope
   ct[i] = ct[min(n+1,i+k)] + 2*(L - pos[i]);
                                 ^
boxes.cpp:44:21: error: 'k' was not declared in this scope
   for(ll j = 0; i + k*j <= n ; j++){
                     ^
boxes.cpp:46:25: error: 'L' was not declared in this scope
     new_rez = cl[i] + j*L + ct[i + k*j + 1];
                         ^
boxes.cpp:52:1: warning: no return statement in function returning non-void [-Wreturn-type]
 }
 ^