제출 #417383

#제출 시각아이디문제언어결과실행 시간메모리
417383maximath_1Job Scheduling (IOI19_job)C++17
0 / 100
222 ms19848 KiB
#include "job.h"
#include <vector>
#include <set>
#include <iostream>
using namespace std;
#define ll long long

struct job{
	int u, d, id;
	bool operator < (const job &rhs) const{
		if(d * 1ll * rhs.u == u * 1ll * rhs.d){
			return rhs.d < d;
		}
		return d * 1ll * rhs.u < u * 1ll * rhs.d;
	}
};

long long scheduling_cost(vector<int> p, vector<int> u, vector<int> d){
	int n = p.size();
	set<job> s;

	vector<int> ord;
	for(int i = 1; i < n; i ++)
		s.insert({u[i], d[i], i});

	ll ans = 0ll, tim = 0ll;
	tim += d[0]; ans += tim * u[0];

	for(auto i : s){
		tim += d[i.id];
		ans += tim * 1ll * u[i.id];
	}

	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...