Submission #316627

#TimeUsernameProblemLanguageResultExecution timeMemory
316627MetBJob Scheduling (IOI19_job)C++14
19 / 100
94 ms10676 KiB
#include "job.h"
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
 
using namespace __gnu_pbds;
 
#define N 2000001
 
using namespace std;
 
typedef unsigned long long ull;
typedef long long ll;
typedef long double ld;
 
const ll INF = 1e18, MOD = 1e9 + 7, MOD2 = 1e6 + 3;

int merged[N], dsu[N], n, dl[N];
ll ans;

struct rat {
	ll u, d;

	rat (ll u, ll d) : u (u), d (d) {}
	rat () {}

	bool operator < (const rat& b) const {
		return b.u * d < u * b.d;
	}

	bool operator != (const rat& b) const {
		return tie (u, d) != tie (b.u, b.d);
	}
} a[N], b[N];

ll scheduling_cost (vector <int> p, vector <int> u, vector <int> d) {
	int n = p.size ();

	for (int i = 0; i < n; i++) {
		b[i] = {u[i], d[i]};
	}

	sort (b + 1, b + n);

	ll t = 0;

	for (int i = 0; i < n; i++) {
		t += b[i].d;
		ans += b[i].u * t;
	}

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