Submission #1282038

#TimeUsernameProblemLanguageResultExecution timeMemory
1282038nikakh축제 (IOI25_festival)C++20
32 / 100
77 ms10036 KiB
#include <bits/stdc++.h>

using namespace std;
typedef long long ll;

vector<int> max_coupons(int A, vector<int> P, vector<int> T){
	vector<array<ll, 3>> v;
	int n = P.size();
	for(int i = 0; i < n; i++){
		v.push_back({P[i], T[i], i});
	}
	sort(v.begin(), v.end(), [](array<ll, 3> &F, array<ll, 3> &S){
		if(F[1] == S[1]) return F[0] < S[0];
		ll x = S[1] * (-F[0] * F[1] - S[0]);
		ll y = F[1] * (-S[0] * S[1] - F[0]);
		if(x != y) return x > y;
		return F[2] < S[2];
	});
	vector<int> R;
	for(int i = 0; i < n; i++){
		if(A < v[i][0]) break;
		A = (A - v[i][0]) * v[i][1];
		R.push_back(v[i][2]);
	}
	return R;
}
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...