Submission #421302

#TimeUsernameProblemLanguageResultExecution timeMemory
421302errorgornBoxes with souvenirs (IOI15_boxes)C++17
100 / 100
995 ms355800 KiB
//雪花飄飄北風嘯嘯 //天地一片蒼茫 #include "boxes.h" #include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> #include <ext/rope> using namespace std; using namespace __gnu_pbds; using namespace __gnu_cxx; #define ll long long #define ii pair<ll,ll> #define iii pair<ii,ll> #define fi first #define se second #define endl '\n' #define debug(x) cout << #x << " is " << x << endl #define pub push_back #define pob pop_back #define puf push_front #define pof pop_front #define lb lower_bound #define ub upper_bound #define rep(x,start,end) for(auto x=(start)-((start)>(end));x!=(end)-((start)>(end));((start)<(end)?x++:x--)) #define all(x) (x).begin(),(x).end() #define sz(x) (int)(x).size() #define indexed_set tree<ll,null_type,less<ll>,rb_tree_tag,tree_order_statistics_node_update> //change less to less_equal for non distinct pbds, but erase will bug mt19937 rng(chrono::system_clock::now().time_since_epoch().count()); int n,k,l; vector<int> f; vector<int> b; vector<ll> fa; vector<ll> ba; long long delivery(int N, int K, int L, int P[]) { n=N,k=K,l=L; rep(x,0,n) if (P[x]){ f.pub(P[x]); b.pub(l-P[x]); } reverse(all(b)); n=sz(f); fa.pub(0); rep(x,0,n){ if (x<k) fa.pub(f[x]); else fa.pub(fa[x-k+1]+f[x]); } ba.pub(0); rep(x,0,n){ if (x<k) ba.pub(b[x]); else ba.pub(ba[x-k+1]+b[x]); } //for (auto &it:fa) cout<<it<<" "; cout<<endl; ll ans=1e18; rep(x,0,n+1){ ans=min(ans,(fa[x]+ba[n-x])*2); } //cout<<ans<<endl; rep(x,0,n+1){ int other=n-x-k; if (other<0) continue; ans=min(ans,(fa[x]+ba[other])*2+l); } if (n<=k) ans=min(ans,(ll)l); 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...