QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#568120 | #9320. Find the Easiest Problem | haze | AC ✓ | 38ms | 7536kb | C++23 | 2.7kb | 2024-09-16 15:18:31 | 2024-09-16 15:18:35 |
Judging History
answer
#include<bits/stdc++.h>
#define IOS ios::sync_with_stdio(false), cin.tie(0);
#define irep(i, l, r) for(int i = l; i <= r; ++ i)
#define drep(i, r, l) for(int i= r; i >= l; -- i)
typedef long long ll;
typedef double LD;
using i64 = long long;
const int mod = 1000000000 + 7;
const int N = 500000 + 7;
using namespace std;
const double eps = 1e-8;
int sgn(LD x){
if(x > eps)return 1;
if(x < -eps)return -1;
return 0;
}
namespace strhash{
using u64 = uint64_t;
mt19937_64 rng(random_device{}());
const int base = 135 + rng() % 114514;
constexpr int p1 = 1'0000'0000'7, p2 = 1'0000'0000'9;
constexpr unsigned msk32 = ~(0u);
vector<u64> pw1{1}, pw2{1};
class StringHash{
vector<u64>h;
int n;
public:
StringHash(const string &s): n(s.length()){
int old_size = pw1.size();
if(old_size < n + 1){
pw1.resize(2 * n + 1, 1), pw2.resize(n * 2 + 1, 1);
for(int i = old_size; i <= n * 2; ++ i){
pw1[i] = pw1[i - 1] * base % p1;
pw2[i] = pw2[i - 1] * base % p2;
}
}
u64 now1 = 0, now2 = 0;
h.resize(n + 1, 0);
for(int i = n - 1; i >= 0; -- i){
now1 = (now1 * base + s[i]) % p1;
now2 = (now2 * base + s[i]) % p2;
h[i] = (now1 << 32) | now2;
}
}
u64 get(int l, int r){
int len = r - l;
u64 l1 = h[l] >> 32, r1 = h[r] >> 32;
u64 l2 = h[l] & msk32, r2 = h[r] & msk32;
u64 res1 = (l1 - r1 * pw1[len] % p1 + p1) % p1;
u64 res2 = (l2 - r2 * pw2[len] % p2 + p2) % p2;
return (res1 << 32) | res2;
}
};
}
inline ll read() {
ll s = 0, w = 1;
char ch = getchar();
while (!isdigit(ch)) {
if (ch == '-')w = -1;
ch = getchar();
}
while (isdigit(ch)) {
s *= 10, s += ch ^ 48;
ch = getchar();
}
return s * w;
}
ll qpow(ll base, ll b){
ll ans = 1;
while(b){
if(b & 1)ans *= base, ans %= mod;
base *= base, base %= mod, b >>= 1;
}
return ans;
}
void solve(){
int n = read();
vector<string>s;
map<string, set<string>>mp;
irep(i, 1, n){
string a, b, c;
cin >> a >> b >> c;
if(c == "accepted"){
mp[b].insert(a);
}
s.push_back(b);
}
cout << *std::max_element(s.begin(), s.end(), [&](string &p, string &q){
return mp[p].size() != mp[q].size() ? mp[p].size() < mp[q].size() : p > q;
}) << '\n';
}
int main(){
int T = 1;
cin >> T;
while(T --)solve();
}
这程序好像有点Bug,我给组数据试试?
详细
Test #1:
score: 100
Accepted
time: 0ms
memory: 3832kb
input:
2 5 teamA A accepted teamB B rejected teamC A accepted teamB B accepted teamD C accepted 4 teamA A rejected teamB A accepted teamC B accepted teamC B accepted
output:
A A
result:
ok 2 lines
Test #2:
score: 0
Accepted
time: 31ms
memory: 3584kb
input:
1000 44 WaiooyIXa O accepted WaiooyIXa P accepted ZYYsNWag P accepted DPIawQg D rejected IzPdjnM Z rejected Ra D rejected kwQyGxLo I rejected DPIawQg L accepted kwQyGxLo I accepted mmWxDuADCB D rejected PXwVAOgwiz P rejected ZYYsNWag U accepted IzPdjnM Z accepted TgBNO P rejected kwQyGxLo J accepted...
output:
Z E Z I B I G H S K J I H R Z C K O I P A B I A A N A B A O F O R T H G K E S D F D R C U V W P A O J E A B U M C T L G V A Z N E O Q F B G J I E M A A E A K J J S E W Z K F I S P M H G G H W I P T D O A F N C S Y Z S G J F Q F O C B B U C I A E I P K C R X N D N L Q L I X I H U J Z D K G F T F B H ...
result:
ok 1000 lines
Test #3:
score: 0
Accepted
time: 30ms
memory: 3884kb
input:
1000 39 OnYbTl Y accepted m I accepted NJN T accepted lTGE D accepted mi K accepted ttcHrVD W accepted hvGveRIr J rejected zTwvbWhhQT S rejected VlAcLAHas E accepted hM H accepted wltR G rejected JJWtQ H accepted zVwBtj L rejected ZVqAWCsj I rejected BwuM B accepted IpUXa R rejected OdSv D rejected ...
output:
H R M I S J D D A E X S I D D A I N G O F G G B A J E H D I G M O N C G F L V D C S B U H W L J C O B D L N D V K M Z C T H K U I T R R Q D B E F A Q O F M C T M E Y L K Q K E A O E J O B N R A E D I A Q W A M A Z W K M I J B F L X E R G A I H Q P T E K L Q U C A F C A S N G G U L J J A A J A B A E ...
result:
ok 1000 lines
Test #4:
score: 0
Accepted
time: 30ms
memory: 3644kb
input:
1000 15 vCproSIO G rejected vCproSIO H rejected ySoEaGKbVz R rejected ySoEaGKbVz M accepted vCproSIO Z rejected ySoEaGKbVz C rejected YVCmuO H accepted XHHVYm Y rejected YVCmuO H rejected vCproSIO S accepted ySoEaGKbVz J accepted YVCmuO P rejected ySoEaGKbVz E rejected XHHVYm O accepted vCproSIO T r...
output:
H A F A N J B C H T B L G Z J H F A B H A O V E B O L B J D I Y M B Q B F E T B T C C X E P S M A Q G D A A H I H E D C A A V C B C D E B F I D C M J P N F V K E K K B B F Q L B E Q A R E V C Y D I C H N H G G M A H E D U N N M R K C B F O H V I A U R Y D A A A G E N N L C A E C B Z P W K U D H D V ...
result:
ok 1000 lines
Test #5:
score: 0
Accepted
time: 16ms
memory: 4892kb
input:
1 27400 RPRPRNWL O accepted UTqhXsDpY R rejected BabD A rejected eNM Y rejected HzIyx S accepted phWEJVQ N rejected NbisS Q accepted cTIsPKm Y rejected sElDxdT T accepted BJuQR Q rejected vfPJs W rejected eF Z accepted KyOHzFtXm B accepted wZlyz T accepted acDVjN C accepted M X rejected sW A accepte...
output:
P
result:
ok single line: 'P'
Test #6:
score: 0
Accepted
time: 13ms
memory: 4220kb
input:
1 29702 Wsfzx N rejected yZkJOvtRG B rejected Wsfzx A accepted yZkJOvtRG C rejected F G accepted kyUxIv U accepted li R rejected F Q rejected F Y accepted F I accepted yZkJOvtRG J rejected Wsfzx C rejected Wsfzx V accepted yZkJOvtRG L rejected F X rejected kyUxIv K accepted li G accepted Wsfzx Z acc...
output:
A
result:
ok single line: 'A'
Test #7:
score: 0
Accepted
time: 37ms
memory: 7536kb
input:
1 99584 I Y rejected I F accepted I Z rejected I G accepted I J rejected I A rejected I C rejected I R rejected I J accepted I L rejected I A rejected I L accepted I E rejected I O accepted I P accepted I F rejected I O accepted I E accepted I W accepted I X rejected I G accepted I R rejected I A re...
output:
A
result:
ok single line: 'A'
Test #8:
score: 0
Accepted
time: 13ms
memory: 4996kb
input:
1 26160 QmDDKxIel A rejected gmxZDM O rejected thXodr Z accepted sznPsL Z accepted VynmaLp B rejected MfJQRamC T rejected W W accepted WFqnF T accepted QRys Y accepted Q H accepted XUiMDH H accepted fPcwpz U rejected oEqrrOAv D rejected aeW O accepted M B accepted JYzynly O accepted JJqNf G rejected...
output:
E
result:
ok single line: 'E'
Test #9:
score: 0
Accepted
time: 23ms
memory: 3636kb
input:
1000 81 pnnCvDUIH B rejected rdcJWGYGhk B accepted VBFvmoYLn B accepted jdMRRJuIpZ B rejected WLewtGWJw A rejected zGAkWsrfG A accepted MDzQocBGr A rejected XufUaIWaKT A accepted JachfkiYL A rejected zvDlkMINf B rejected NMfFDEVhG A rejected axiTyJnXu B accepted wLkSOTqqV A rejected amkUqtOyMB B rej...
output:
B B B B B A B A A A B B B A A B B A B A A A B A A B B B A A A B B A A B A B B B A B A B B A B A A A A A B A B B A A A A B A B A A A B A A B B A A A B B A A B B B A A A A A A B A B B B B A A B B B B B A B A A B A A B A A B A B A A A B B A A B A B B A B A B A A A B B A A A B B A A A A B A B A A A A A ...
result:
ok 1000 lines
Test #10:
score: 0
Accepted
time: 38ms
memory: 7376kb
input:
1 61839 BGQriOTlZ B rejected ZIqGhTsmH B rejected DxIVjUqBr A rejected afbRvvloO A accepted LskKGrpIx A rejected zGnHxzKmA B rejected bHSaQfYtu A rejected xPTMHyQgD B rejected xWrkTqLhH B accepted tGUVjSpmjI A accepted bBBZKwbsw A accepted IAaiNrLMLe B accepted bglBZRQuk B accepted DtLTczAkJo A reje...
output:
B
result:
ok single line: 'B'
Extra Test:
score: 0
Extra Test Passed