답안 #341030

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
341030 2020-12-28T22:43:40 Z 12tqian 선물상자 (IOI15_boxes) C++17
10 / 100
1 ms 384 KB
#include "boxes.h"
#include <bits/stdc++.h>
typedef long long ll;
const ll INF = 2e9;
long long delivery(int N, int K, int L, int p[]) {
    using namespace std;
    vector<ll> pre(N);
    for (int i = 0; i < N ; i++) 
        pre[i] = (i?pre[i-1]:0) + p[i];
    auto get = [&](int l, int r) -> ll {
        return pre[r] - (l?pre[l-1]:0);
    };
    auto range = [&](int l, int r) -> int {
        ll res = INF;
        int mx = -INF;
        int mn = INF;
        for (int i = l; i <= r; i++) {
            mx = max(mx, p[i]);
            mn = min(mn, p[i]);
        }
        res = min(res, 2LL * mx);
        res = min(res, 2LL * (L - mn));
        res = min(res, (ll) L);
        return res;
    };
    ll ans = 1e18;
    auto solve = [&]() {
        ll res = 0;
        for (int l = 0; l < N; l += K) {
            int r = l+K-1;
            r = min(r, N-1);
            res += range(l, r);
        }
        ans = min(ans, res);
    };
    solve();
    reverse(p, p+N);
    solve();
    return ans;
}

Compilation message

boxes.cpp: In lambda function:
boxes.cpp:24:16: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
   24 |         return res;
      |                ^~~
boxes.cpp: In function 'long long int delivery(int, int, int, int*)':
boxes.cpp:10:10: warning: variable 'get' set but not used [-Wunused-but-set-variable]
   10 |     auto get = [&](int l, int r) -> ll {
      |          ^~~
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
4 Correct 1 ms 364 KB Output is correct
5 Correct 1 ms 364 KB Output is correct
6 Correct 1 ms 384 KB Output is correct
7 Correct 1 ms 364 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
4 Correct 1 ms 364 KB Output is correct
5 Incorrect 1 ms 364 KB Output isn't correct
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
4 Correct 1 ms 364 KB Output is correct
5 Incorrect 1 ms 384 KB Output isn't correct
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
4 Correct 1 ms 364 KB Output is correct
5 Correct 1 ms 364 KB Output is correct
6 Correct 1 ms 384 KB Output is correct
7 Correct 1 ms 364 KB Output is correct
8 Correct 1 ms 364 KB Output is correct
9 Correct 1 ms 364 KB Output is correct
10 Correct 1 ms 364 KB Output is correct
11 Correct 1 ms 364 KB Output is correct
12 Incorrect 1 ms 364 KB Output isn't correct
13 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
4 Correct 1 ms 364 KB Output is correct
5 Correct 1 ms 364 KB Output is correct
6 Correct 1 ms 384 KB Output is correct
7 Correct 1 ms 364 KB Output is correct
8 Correct 1 ms 364 KB Output is correct
9 Correct 1 ms 364 KB Output is correct
10 Correct 1 ms 364 KB Output is correct
11 Correct 1 ms 364 KB Output is correct
12 Incorrect 1 ms 364 KB Output isn't correct
13 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
4 Correct 1 ms 364 KB Output is correct
5 Correct 1 ms 364 KB Output is correct
6 Correct 1 ms 384 KB Output is correct
7 Correct 1 ms 364 KB Output is correct
8 Correct 1 ms 364 KB Output is correct
9 Correct 1 ms 364 KB Output is correct
10 Correct 1 ms 364 KB Output is correct
11 Correct 1 ms 364 KB Output is correct
12 Incorrect 1 ms 364 KB Output isn't correct
13 Halted 0 ms 0 KB -