tuki2501

dpdivi.cpp

Nov 5th, 2021 (edited)
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.41 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int a[6005], f[6005];
  5.  
  6. int main() {
  7.     int n, l; cin >> n >> l;
  8.     for (int i = 1; i <= n; i++) {
  9.         cin >> a[i];
  10.         a[i] += a[i - 1];
  11.     }
  12.     memset(f, 0x3f, sizeof(f)); f[0] = 0;
  13.     for (int i = 1; i <= n; i++) {
  14.         int j = i;
  15.         while (j && a[i] - a[j - 1] <= l) {
  16.             f[i] = min(f[i], max(l - a[i] + a[j - 1], f[j - 1]));
  17.             j--;
  18.         }
  19.     }
  20.     cout << f[n] << '\n';
  21. }
Add Comment
Please, Sign In to add comment