Submission #930421

#TimeUsernameProblemLanguageResultExecution timeMemory
930421CutebolBoxes with souvenirs (IOI15_boxes)C++17
10 / 100
2 ms2396 KiB
#include "boxes.h" #include <bits/stdc++.h> using namespace std ; const int N = 1e7 + 4 ; template <class T> bool chmax( T& x , const T& y ){ bool f = 0 ; if ( x < y ) x = y , f = 1 ; return f ; } template <class T> bool chmin( T &x , const T &y ){ bool f = 0 ; if ( x > y ) x = y , f = 1 ; return f ; } int dpl[N] , dpr[N] ; long long delivery(int n, int k, int l, int a[]) { for ( int i = 0 ; i < n ; i ++ ){ if ( i >= k ) dpl[i] = dpl[i-k] + min(l,2*a[i]) ; else dpl[i] = min(l,2*a[i]) ; } for ( int i = n-1 ; i >= 0 ; i -- ){ if ( i+k < n ) dpr[i] = dpl[i+k] + min(l,2*(l-a[i])) ; else dpr[i] = min(l,2*(l-a[i])) ; } int ans = min ( dpl[n-1] , dpr[0] ) ; for ( int i = 1 ; i < n ; i ++ ){ chmin ( ans , dpl[i-1]+dpr[i] ) ; } return ans ; } /* int a[N] ; signed main(){ int n , k , l ; cin >> n >> k >> l ; for ( int i = 0 ; i < n ; i ++ ) cin >> a[i] ; cout << delivery( n , k , l , a ) ; } //*/
#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...