
I expected 10 mins to solve this problem but it took 7 mins for the first submission and 8 mins for debugging.
Consider a naive brute force approach, maintaining a priority queue. Each time take out the monster with the highest health, attack, then put it back into the queue. This will lead to a TLE.
We are only concerned about the time when the monster be killed, so the time a monster is killed depends on its health at the last attack. Preprocess each monster’s health: h = (h % k == 0) ? k : h % k
Then do a stable sort on the health array.
// compile: make data
// run: ./data < data.in
#include <bits/stdc++.h>
using namespace std;
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
#ifdef LOCAL
#include <debug/codeforces.h>
#define debug(x...) _debug_print(#x, x);
#define Debug(x...) _debug_print_format(#x, x);
ifstream terminal("/dev/tty");
#define PP cerr<<"\033[1;30mpause...\e[0m",terminal.ignore();
#else
#define debug(x...)
#define Debug(x...)
#define PP
#endif
template<typename...Args> void print_(Args...args){((cout<<args<<" "),...)<<endl;}
#define rep(i,a,b) for(int i=(a);i<(int)(b);++i)
#define sz(v) ((int)(v).size())
#define print(...) print_(__VA_ARGS__);
#define FIND(a, x) ((find(a.begin(),a.end(),(x))!=a.end())?1:0)
#define cmin(x,...) x=min({(x),__VA_ARGS__})
#define cmax(x,...) x=max({(x),__VA_ARGS__})
#define INTMAX (int)(9223372036854775807)
#define INF (int)(1152921504606846976)
#define NaN (int)(0x8b88e1d0595d51d1)
#define double long double
#define int long long
#define uint unsigned long long
#define MAXN 200010
bool cmp(pair<int, int> a, pair<int, int> b) {
if (a.first == b.first) return a.second < b.second;
return a.first > b.first;
}
void solve() {
int n, k; cin >> n >> k;
vector<pair<int, int>> a;
rep(i, 0, n) {
int x; cin >> x;
a.push_back({((x % k) ? (x % k) : k), i+1});
}
sort(a.begin(), a.end(), cmp);
for (auto [h, id]: a) cout << id << " ";
cout << endl;
}
int32_t main() {
ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr);
int _; cin >> _;
while (_--) solve();
return 0;
}
Easy peasy wowphlogin. Finally, a login that works without any headaches. Get in the game and start winning! wowphlogin
Thomo fans, gà chọi c1 thomo seems to be the spot. Just passing it along, alright?
I tried out TP88vn a little while ago. The website is modern looking, games are good. Overall, nothing too crazy, but it’s reliable and fun. Check ’em out: tp88vn
That’s a great point about responsible gaming! Understanding RTP, like with gg panalo online casino, really helps. It’s cool they focus on fairness & transparency-makes the experience more enjoyable, honestly! 👍
Interesting analysis! Seeing more platforms like jboss app game cater to the Filipino market with options like GCash is smart. Solid security & variety are key for sustained growth, right? Looking forward to seeing how they innovate!
Roulette’s randomness is fascinating – the math behind it is truly elegant! Seeing platforms like 6win download apk offer seamless access for Filipino players is cool, especially with those easy deposit options. It’s all about informed fun, right? 😉
Dude, this analysis is deep! Reading about the platform’s mechanics, it totally clicks. Makes me think about checking out okplaygame download; the interface sounds legit, but I’m curious about the actual gameplay depth.