QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#502364 | #9156. 百万富翁 | phlap# | 15 | 615ms | 76376kb | C++20 | 1.3kb | 2024-08-03 04:47:46 | 2024-08-03 04:47:52 |
Judging History
answer
#include "richest.h"
#include <bits/stdc++.h>
using namespace std;
void thing(vector<int> &vec, int block, int n){
vector<int> group;
vector<int> query1, query2;
for(int i=0; i<vec.size(); i++){
group.push_back(vec[i]);
if(group.size()==block){
for(int j=0; j<block; j++){
for(int k=0; k<j; k++){
query1.push_back(group[j]);
query2.push_back(group[k]);
}
}
group.clear();
}
}
for(int j=0; j<group.size(); j++){
for(int k=0; k<j; k++){
query1.push_back(group[j]);
query2.push_back(group[k]);
}
}
if(query1.empty()) return;
int isless[n];
memset(isless, 0, sizeof isless);
vector<int> result=ask(query1, query2);
for(int i=0; i<query1.size(); i++){
if(result[i]==query1[i]) isless[query2[i]]=1;
else isless[query1[i]]=1;
}
vec.clear();
for(auto i: result) if(!isless[i]) vec.push_back(i);
if(group.size()==1) vec.push_back(group[0]);
}
int richest(int n, int t, int s){
vector<int> vec;
for(int i=0; i<n; i++) vec.push_back(i);
if(t==1){
thing(vec, n, n);
return vec[0];
}
thing(vec, 2, n);
thing(vec, 2, n);
thing(vec, 2, n);
thing(vec, 2, n);
thing(vec, 4, n);
thing(vec, 8, n);
thing(vec, 16, n);
thing(vec, 128, n);
return vec[0];
}
Details
Tip: Click on the bar to expand more detailed information
Pretests
Pretest #1:
score: 15
Accepted
time: 610ms
memory: 24312kb
input:
1000 1 499500 957319859
output:
Correct 7127326332295218295 1.000000 1331569654267968081
result:
points 1.0 Correct
Pretest #2:
score: 0
Wrong Answer
time: 127ms
memory: 76248kb
input:
1000000 20 2000000 29091473
output:
Wrong answer 4459638610240858557 0.000000 6906350380861515327
result:
points 0.0 Wrong answer
Final Tests
Test #1:
score: 15
Accepted
time: 615ms
memory: 23048kb
input:
1000 1 499500 957319857
output:
Correct 7127326332295218295 1.000000 1331569654267968081
result:
points 1.0 Correct
Test #2:
score: 0
Wrong Answer
time: 156ms
memory: 76376kb
input:
1000000 20 2000000 29091471
output:
Wrong answer 4459638610240858557 0.000000 6906350380861515327
result:
points 0.0 Wrong answer