Submission #1302440

#TimeUsernameProblemLanguageResultExecution timeMemory
1302440aaaaaaaaSouvenirs (IOI25_souvenirs)C++20
7 / 100
14 ms400 KiB
#include "souvenirs.h"
#include <bits/stdc++.h>
using namespace std;

void buy_souvenirs(int N, long long P0) {
  //pair<vector<int>, long long> res = transaction(P0 - 1);
  // N, N - 1, N - 2, N - 3, N - 4, .. 1
  if(N == 2){
    transaction(P0 - 1);
    return;
  }
  long long last = P0;
  int fi = 0;
  //
  for(int i = 1; i <= (N - 2); ++i) {
    pair<vector<int>, long long> res = transaction(last - 1);
    assert((int) res.first.size() <= 2);
    assert((int) res.first.size() > 0);
    if((int) res.first.size() >= 2){
        fi += 1;
        for(int j = 1; j < i; ++j){
            transaction(last - 2);
        }
        last = last - 2;
    }else{
        for(int j = 1; j < i; ++j){
            transaction(last - 1);
        }
        last = last - 1;
    }
  }
  if(fi == (N - 1)) return;
  else{
    while(fi < (N - 1)) transaction(last - 1), fi += 1;
  }
  return;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...