Submission #444828

#TimeUsernameProblemLanguageResultExecution timeMemory
444828KhizriBoxes with souvenirs (IOI15_boxes)C++17
20 / 100
1 ms332 KiB
#include "boxes.h" #include <bits/stdc++.h> using namespace std; #define ll long long #define pb push_back #define F first #define S second #define INF 1e18 #define all(v) (v).begin(),(v).end() #define rall(v) (v).rbegin(),(v).rend() #define pii pair<int,int> #define pll pair<ll,ll> #define OK cout<<"Ok"<<endl; #define MOD (ll)(1e9+7) #define endl "\n" const int mxn=1e7+5; ll l[mxn],r[mxn]; long long delivery(int n, int k, int dis, int arr[]) { ll ans=INF; for(int i=0;i<n;i++){ if(i<k){ l[i]=min(1ll*dis,arr[i]*2ll); } else{ l[i]=l[(i/k)*k-1]+min(1ll*dis,arr[i]*2ll); } } int say=0,ind=0; for(int i=n-1;i>=0;i--){ say++; if(say<=k){ r[i]=min(1ll*dis,(dis-arr[i])*2ll); } else{ r[i]=r[ind]+min(1ll*dis,(dis-arr[i])*2ll); } if(say%k==0){ ind=i; } } ans=r[0]; for(int i=0;i<=n-1;i++){ ans=min(l[i]+r[i+1],ans); } return ans; }
#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...