제출 #431354

#제출 시각아이디문제언어결과실행 시간메모리
431354AmineWeslati모임들 (IOI18_meetings)C++14
19 / 100
5577 ms504792 KiB
#include "meetings.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef vector<int>vi; #define pb push_back #define all(x) begin(x),end(x) #define sz(v) (int)v.size() #define FOR(i,a,b) for(int i=a; i<b; i++) #define ROF(i,a,b) for(int i=b-1; i>=a; i--) //------------------------------------------ const ll INF=1e18; void ckmin(ll &x, ll y){x=min(x,y);} void ckmax(int &x, int y){x=max(x,y);} int N,Q; vector<ll> minimum_costs(vi H, vi L, vi R){ N=sz(H),Q=sz(L); //compress ll val[N][N]; FOR(i,0,N){ int cur=0; ROF(j,0,i+1){ ckmax(cur,H[j]); val[i][j]=cur; if(i!=j) val[i][j]+=val[i][j+1]; } cur=0; FOR(j,i,N){ ckmax(cur,H[j]); val[i][j]=cur; if(i!=j) val[i][j]+=val[i][j-1]; } } vector<ll> res(Q); FOR(idx,0,Q){ ll ans=INF; FOR(i,L[idx],R[idx]+1){ ckmin(ans,val[i][L[idx]]+val[i][R[idx]]-H[i]); } res[idx]=ans; } return res; } /* 4 2 2 4 3 5 0 2 1 3 */
#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...