제출 #1018348

#제출 시각아이디문제언어결과실행 시간메모리
1018348vjudge1모임들 (IOI18_meetings)C++17
0 / 100
1 ms604 KiB
#include <bits/stdc++.h> // #pragma GCC optimize("Ofast") // #pragma GCC target("avx2") // #pragma GCC optimization ("O3") // #pragma GCC optimization ("unroll-loops") // #pragma GCC target("popcnt") #define endl '\n' #define mp make_pair #define pb push_back #define f first #define s second #define fo(i,n) for(auto i =0 ; i < n;i++) #define fore(i,l,r) for(auto i = l; i < r;i++) #define forex(i,r,l) for(auto i = r; i >= l; i--) #define ffo(i,n) forex(i,n-1,0) #define all(x) x.begin(),x.end() #define lsb(x) x&(-x) #define sz(x) (int)x.size() #define gcd(a,b) __gcd(a,b) #define vii vector<ii> #define pq_min(a) priority_queue<a, vector<a>, greater<a>> #define fls cout.flush() using namespace std; using ll = long long; using ull = unsigned long long; using vi = vector<int>; using ii = pair<int,int>; using mii = map<int,int>; using lld = long double; void valid(ll in){cout<<((in)?"YES\n":"NO\n");} vector<ll> minimum_costs(vi H, vi L,vi R) { int Q = L.size(), N = H.size( ); vector<ll> C(Q, 1e18); fo(i,Q){ vector<ll> maxder(N,0),maxizq(N,0); stack<int> stk; for(int j = R[i]; j >= L[i]; j++){ while(sz(stk) && H[j] > H[stk.top()]){ if(sz(stk)==1){ maxder[j] -= 1ll*(R[i] - stk.top()+1) * H[stk.top()]; stk.pop(); }else{ int ac = stk.top(); stk.pop(); maxder[j] -= 1ll*(stk.top() - ac) * H[ac]; } } if(sz(stk)){ maxder[j] += 1ll*(stk.top() - j) * H[j]; }else{ maxder[j] += 1ll*(R[i] - j+1)*H[j]; } } while(sz(stk))stk.pop(); for(int j = R[i]; j >= L[i]; j++){ while(sz(stk) && H[j] > H[stk.top()]){ if(sz(stk)==1){ maxizq[j] -= 1ll*(stk.top()-L[i]+1) * H[stk.top()]; stk.pop(); }else{ int ac = stk.top(); stk.pop(); maxizq[j] -= 1ll*(ac-stk.top()) * H[ac]; } } if(sz(stk)){ maxizq[j] += 1ll*(j-stk.top()) * H[j]; }else{ maxizq[j] += 1ll*(j-L[i]+1)*H[j]; } } fore(j, L[i], R[i]+1) C[i] = min(C[i], maxder[j]+maxizq[j]); } return 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...