QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#502364#9156. 百万富翁phlap#15 615ms76376kbC++201.3kb2024-08-03 04:47:462024-08-03 04:47:52

Judging History

你现在查看的是最新测评结果

  • [2024-08-03 04:47:52]
  • 评测
  • 测评结果:15
  • 用时:615ms
  • 内存:76376kb
  • [2024-08-03 04:47:46]
  • 提交

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