Submission #1258616

#TimeUsernameProblemLanguageResultExecution timeMemory
1258616allin27x축제 (IOI25_festival)C++20
27 / 100
62 ms9032 KiB
#include "festival.h"
#include <bits/stdc++.h>
using namespace std;
#define int long long

const int INF = 3e15;

int tk;

struct coupon{
	int p, t, idx;
	void apply(){
		tk -= p; tk *= t;
		if (tk > INF) tk = INF;
		if (tk < 0) tk = -1;
	}
};

bool comp(coupon &a, coupon &b){
	if (a.t == 1 && b.t == 1) return a.p < b.p;
	return a.p * a.t * (b.t - 1) < b.p * b.t * (a.t - 1);
}
vector<signed> max_coupons(signed A, vector<signed> P, vector<signed> T) {
	int n = P.size(); 
	vector<coupon> cp(n);
	for (int i=0; i<n; i++) cp[i] = {P[i], T[i], i};
	sort(cp.begin(), cp.end(), comp);
	vector<signed> ans(n); for (int i=0; i<n; i++) ans[i] = cp[i].idx;
	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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...