제출 #151112

#제출 시각아이디문제언어결과실행 시간메모리
151112nekiJob Scheduling (IOI19_job)C++14
24 / 100
219 ms32472 KiB
#include "job.h" #include <bits/stdc++.h> using namespace std; #define maxn 200100 #define loop(i, a, b ) for(int i=a;i<b;i++) typedef long long ll; struct temp{ ll a, t, sa;vector<ll> chs; bool operator<(const temp &dr) const { return sa*dr.t<dr.sa*t; } }; temp ts[maxn]; ll scheduling_cost(vector<int> p, vector<int> a, vector<int> t) { ll n=p.size(); loop(i,0, n) ts[i].a=a[i], ts[i].t=t[i], ts[i].sa=ts[i].a; loop(i, 0, n) if(p[i]!=-1) ts[p[i]].sa+=ts[i].sa, ts[p[i]].chs.push_back(i); priority_queue<temp> pq;pq.push(ts[0]); ll ct=0, ans=0; while(pq.size()){ auto v=pq.top();pq.pop(); ct+=v.t; ans+=ct * v.a; for(auto&& i: v.chs) pq.push(ts[i]); } 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...