Submission #1260500

#TimeUsernameProblemLanguageResultExecution timeMemory
1260500yhx3Festival (IOI25_festival)C++20
0 / 100
1096 ms9124 KiB
#include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> using namespace std; using namespace __gnu_pbds; #define ord_set tree < int , null_type , less , rb_tree_tag , tree_order_statistics_node_update> #define ll unsigned long long #define rep(i,a,b) for (int i = a; i < b; i++) #define rrep(i,a,b) for (int i = a; i >= b; i--) void N() {cout<<"NO\n";} void Y() {cout<<"YES\n";} void isTrue(bool ope) { if (ope) Y();else N(); } int MD = 1e9+7; ll MX_VL = 1e18; int MX_ll = 2e9; ll a; vector<pair<int,int>> pV; vector<pair<int,int>> tV; bool comp(ll &x,ll& y) { return (a-pV[x].first)*tV[x].first > (a-pV[y].first)*tV[y].first; } vector<int> max_coupons(int A,vector<int> P, vector<int> T) { a = A; rep(i,0,P.size()) { pV.push_back(make_pair(P[i],i)); tV.push_back(make_pair(T[i],i)); } vector<int> lst; rep(i,0,P.size()) lst.push_back(i); vector<int> ans; while (!lst.empty()) { if (a > 7*1e10) { for (auto v:lst) ans.push_back(v); break; } sort(lst.begin(),lst.end()); int i = lst[0]; a -= (a-P[i])*T[i]; ans.push_back(i); lst.erase(lst.begin()); } 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...