Submission #992429

# Submission time Handle Problem Language Result Execution time Memory
992429 2024-06-04T12:34:02 Z phoenix Boxes with souvenirs (IOI15_boxes) C++17
10 / 100
1 ms 348 KB
#include "boxes.h"
#include <bits/stdc++.h>

using namespace std;

long long delivery(int n, int k, int ll, int p[]) {
    long long L = ll;
    long long res = 0;
    int l = -1, r = n;
    while (l + 1 < n && p[l + 1] * 2 < L) 
        l++;
    while (r - 1 >= 0 && (L - p[r - 1]) * 2 < L) 
        r--;
    int cnt = r - l - 1;
    res += cnt / k * L; 
    cnt %= k;
    if (cnt) {
        res += L; 
        for (int i = 0; i < k - cnt; i++) {
            int a1 = (l >= 0 ? p[l] : -1), a2 = (r < n ? L - p[r] : -1);
            if (max(a1, a2) == -1) 
                break;
            if (a1 >= a2) {
                l--;
            } else {
                r++;
            }
        }
    }
    while (l >= 0) {
        res += 2 * p[l];
        l -= k;
    }
    while (r < n) {
        res += 2 * (L - p[r]);
        r += k;
    }
    return res;
}

Compilation message

boxes.cpp: In function 'long long int delivery(int, int, int, int*)':
boxes.cpp:20:56: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   20 |             int a1 = (l >= 0 ? p[l] : -1), a2 = (r < n ? L - p[r] : -1);
      |                                                 ~~~~~~~^~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 344 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 344 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Incorrect 0 ms 348 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 344 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 344 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Incorrect 0 ms 348 KB Output isn't correct
10 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 344 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 344 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Incorrect 0 ms 348 KB Output isn't correct
10 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 344 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 344 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Incorrect 0 ms 348 KB Output isn't correct
10 Halted 0 ms 0 KB -