Submission #836468

#TimeUsernameProblemLanguageResultExecution timeMemory
836468Mohmad_Zaid모임들 (IOI18_meetings)C++14
19 / 100
956 ms786432 KiB
// #include "meetings.h" #include <bits/stdc++.h> #define pb push_back #define ll long long #define print(a) for(int i=0;i<a.size();i++)cout<<a[i]<<endl; using namespace std; vector<long long> minimum_costs(vector<int> H, vector<int> L,vector<int> R) { int q = L.size(); int n = H.size(); vector<vector<ll>>suffix(n,vector<ll>(n+1,0)); vector<vector<ll>>prefix(n,vector<ll>(n+1,0)); vector<ll>C(q); for(int i=0;i<n;i++){ ll mx=0; for(int j=i;j<n;j++){ mx=max(mx,(ll)H[j]); suffix[i][j+1]=suffix[i][j]+mx; } mx=0; for(int j=i;j>=0;j--){ mx=max(mx,(ll)H[j]); prefix[i][j]=prefix[i][j+1]+mx; } } for(int i=0;i<q;i++){ ll mn=LONG_LONG_MAX; for(int j=L[i];j<=R[i];j++){ ll sm=0; sm+=H[j]; sm+=prefix[j][L[i]]-prefix[j][j]; sm+=suffix[j][R[i]+1]-suffix[j][j+1]; mn=min(mn,sm); } C[i]=mn; } return C; } // int main(){ // vector<ll>c; // c=minimum_costs({2,4,3,5,4}, {2,1,0}, {4,1,4}); // print(c); // }
#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...