cfER76 abcd
https://codeforces.com/contest/1257 A題 取個max(b-a+x, n-1) B題 儅x>3 時就可以變成任意y, 儅 n <= 3 時 討論下 C題 用數組記錄下沒個數的出現位置, 取與上一次位置的最小距離為答案 1 1 1 2 2 2 也可以, ans = 2, D題 儅怪物中力量最大的大於勇士 則輸出 -1, 否則 貪心 將每個耐力值取最大力量, 用一個數組存 耐力值的最大力量() hero[1] 存的是 耐心值>=1 的最大力量, hero[2] 存的是 耐心值>=2 的最大力量, 每次從hero[1] 貪心取到最大的耐心值 /* 6 1 1 1 2 2 2 */ #include <bits/stdc++.h> using namespace std; #define _for(i,a,b) for(int i = (a); i < (b); i++) #define _rep(i,a,b) for(int i = (a); i <= (b); i++) #define ll long long void taskA(){ int t, n,x,a,b; cin >> t; while(t--) { cin >> n >> x >> a >> b; if(a > b) swap(a, b); int ma = b-a; if(abs(b