Submission #1255960

#TimeUsernameProblemLanguageResultExecution timeMemory
1255960AvianshFestival (IOI25_festival)C++20
32 / 100
65 ms9408 KiB
#include "festival.h" #include <bits/stdc++.h> using namespace std; bool comp(array<long long,3>&a, array<long long,3>&b){ if(a[0]*a[1]*b[1]+b[0]*b[1]==b[0]*a[1]*b[1]+a[0]*a[1]){ return a[0]<b[0]; } return a[0]*a[1]*b[1]+b[0]*b[1]<b[0]*a[1]*b[1]+a[0]*a[1]; } vector<int> max_coupons(int A, vector<int> P, vector<int> T) { int n = P.size(); array<long long,3>arr[n]; for(int i = 0;i<n;i++){ arr[i]={P[i],T[i],i}; } sort(arr,arr+n,comp); vector<int>ans; long long curr = A; bool all = 0; for(int i = 0;i<n;i++){ long long temp = (curr-arr[i][0])*arr[i][1]; if(temp<0){ //bad continue; } curr=temp; ans.push_back(arr[i][2]); if(temp>1e15){ //basically inf now can but everything. all=1; break; } } if(all){ set<int>done; for(int i : ans){ done.insert(i); } for(int i = 0;i<n;i++){ if(done.find(i)==done.end()){ ans.push_back(i); } } } 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...