제출 #163169

#제출 시각아이디문제언어결과실행 시간메모리
163169kostia244선물상자 (IOI15_boxes)C++17
100 / 100
997 ms372188 KiB
#include "boxes.h" #include<bits/stdc++.h> #define pb push_back #define all(x) x.begin(), x.end() using namespace std; using ll = long long; using vi = vector<ll>; #define dist hbuisanawedjcsk ll n, k, l, pos[10000011], dpl[10000011], dpr[10000011]; ll distl(ll a, ll b) { return min(abs(a-b), l-abs(a-b)); } #define eval(dp, opt) (dp[opt] + dist(0, pos[opt+1]) + dist(pos[opt+1], pos[i]) + dist(pos[i], 0)) long long delivery(int N, int K, int L, int P[]) { n = N, k = K, l = L; for (int i = 0; i < n; i++) pos[i + 1] = P[i]; ll opt = 0; for(int i = 1; i <= n; i++) { opt = max(0ll, i-k); dpl[i] = dpl[opt] + pos[i] + min(pos[i], (l-pos[i])); } opt=n+1; for(int i = n;i;i--) { opt = min(n+1ll, i+k); dpr[i] = dpr[opt] + (l-pos[i]) + min(pos[i], (l-pos[i])); } ll ans = LLONG_MAX; for(int i = 0; i <= n; i++) ans = min(ans, dpl[i]+dpr[i+1]); return ans; }

컴파일 시 표준 에러 (stderr) 메시지

boxes.cpp: In function 'long long int delivery(int, int, int, int*)':
boxes.cpp:24:14: warning: conversion to 'int' from 'll {aka long long int}' may alter its value [-Wconversion]
  for(int i = n;i;i--) {
              ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...