Submission #1254813

#TimeUsernameProblemLanguageResultExecution timeMemory
1254813AbdullahIshfaqSouvenirs (IOI25_souvenirs)C++20
7 / 100
13 ms412 KiB
#include "souvenirs.h"
#include <bits/stdc++.h>
using namespace std;
#define MOD 1000000007
#define ll long long

void buy_souvenirs(int n, ll p)
{
  ll curr = p - 1;
  if(n == 3){
    auto tmp = transaction(curr);
    curr -= tmp.second;
    if(tmp.first.size() == 1){
        transaction(curr - 1);
        transaction(curr - 1);
        return ;
    }
    curr /= 2;
    transaction(curr);
    transaction(curr);
    return ;
  }
  vector<ll> pur(n);
  for(int i = 1; i < n; i++){
    while(pur[i] < i){
      auto tmp = transaction(curr);
      for(auto j : tmp.first){
        pur[j]++;
      }
      if(tmp.second > 0 or tmp.first.size() != 1){
        curr--;
      }
    }
    curr--;
  }
}
#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...