Submission #836952

#TimeUsernameProblemLanguageResultExecution timeMemory
836952Halym2007Boxes with souvenirs (IOI15_boxes)C++17
50 / 100
41 ms17940 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long ll pref[1005], suf[1005], answer; int a[1005]; ll f (int x, int k) { ll jp = (x + k - 1) / k; return jp; } ll delivery(int N, int K, int L, int p[]) { for (int i = 1; i <= N; ++i) a[i] = p[i - 1]; for (int i = 1; i <= N; ++i) { pref[i] = a[i]; if (i >= K) { pref[i] += pref[i - K]; } } for (int i = N; i >= 1; i--) { suf[i] = L - a[i]; if (i + K <= N) suf[i] += suf[i + K]; } answer = f(N, K) * 1LL * L; for (int i = 0; i <= N; ++i) { for (int j = i + 1; j <= N + 1; ++j) { int c = f(j - i - 1, K); answer = min (answer, c * 1LL * L + 2*(pref[i] + suf[j])); // if (answer == 8) { // cout << i << " " << j << " " << c << " " << L << " " << pref[i] << " " << suf[j] << "\n"; // exit(0); // } } } return answer; } // int main() { // freopen("input.txt", "r", stdin); // int n, k, l; // cin >> n >> k >> l; // int p[n]; // for (int i = 0; i < n; ++i) { // cin >> p[i]; // } // cout << delivery (n, k, l, p); // }

Compilation message (stderr)

boxes.cpp: In function 'long long int delivery(int, int, int, int*)':
boxes.cpp:27:13: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   27 |    int c = f(j - i - 1, K);
      |            ~^~~~~~~~~~~~~~
#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...