# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
597113 | yutabi | 모임들 (IOI18_meetings) | C++14 | 5590 ms | 7008 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "meetings.h"
#include <bits/stdc++.h>
using namespace std;
#define pb push_back
typedef long long ll;
typedef pair <ll,ll> ii;
std::vector<long long> minimum_costs(std::vector<int> H, std::vector<int> L, std::vector<int> R)
{
vector <ll> ans;
for(int i=0;i<L.size();i++)
{
vector <ll> Ll(1,0);
vector <ll> Rr(1,0);
ll curr_ans=0;
vector <ii> aaaa;
for(int j=L[i];j<=R[i];j++)
{
ll curr_num=1;
ll curr_height=H[j];
while(aaaa.size() && curr_height>aaaa.back().first)
{
curr_ans-=aaaa.back().first*aaaa.back().second;
curr_num+=aaaa.back().second;
aaaa.pop_back();
}
curr_ans+=curr_num*curr_height;
aaaa.pb(ii(curr_height,curr_num));
Ll.pb(curr_ans);
}
aaaa.clear();
curr_ans=0;
for(int j=R[i];j>=L[i];j--)
{
ll curr_num=1;
ll curr_height=H[j];
while(aaaa.size() && curr_height>aaaa.back().first)
{
curr_ans-=aaaa.back().first*aaaa.back().second;
curr_num+=aaaa.back().second;
aaaa.pop_back();
}
curr_ans+=curr_num*curr_height;
aaaa.pb(ii(curr_height,curr_num));
Rr.pb(curr_ans);
}
ll nw_ans=-1;
for(int j=0;j<Rr.size();j++)
{
if(nw_ans==-1 || Ll[j]+Rr[Rr.size()-j-1]<nw_ans)
{
nw_ans=Ll[j]+Rr[Rr.size()-j-1];
}
}
ans.pb(nw_ans);
}
return ans;
}
컴파일 시 표준 에러 (stderr) 메시지
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |