Submission #990955

#TimeUsernameProblemLanguageResultExecution timeMemory
990955hasan2006Boxes with souvenirs (IOI15_boxes)C++17
100 / 100
394 ms293972 KiB
#include <bits/stdc++.h>

using namespace std;

#define TL ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
#define rall(s) s.rbegin(),s.rend()
#define all(s) s.begin(),s.end()
#define pb push_back
#define se second
#define fi first
#define ll long long
#define ld long double
#define YES cout<<"YES\n"
#define Yes cout<<"Yes\n"
#define yes cout<<"yes\n"
#define NO cout<<"NO\n"
#define No cout<<"No\n"
#define no cout<<"no\n"


const int N = 1e7 + 9 , mod = 1e9 + 7;
ll  b[N] , c[N] ;
ll delivery(int n,int k, int l,int a[])
{

    for(int i = 1; i <= n; i++){
        b[i] = min(l , a[i - 1] * 2);
        if(i > k)
            b[i] += b[i - k];
    }
    ll ans =b[n];
    for(int i = n; i >= 1; i--){
        c[i] = min(l , (l - a[i - 1]) * 2);
        if(i + k <= n)
            c[i] += c[i + k];
        ans= min(ans , b[i - 1] + c[i]);
    }
	return ans;
}

// Author : حسن
#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...