제출 #1302433

#제출 시각아이디문제언어결과실행 시간메모리
1302433aaaaaaaa선물 (IOI25_souvenirs)C++20
4 / 100
4 ms332 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 = N - 1, cnt = 0; i >= 2; --i, ++cnt) {
    pair<vector<int>, long long> res = transaction(last - 1);
    if((int) res.first.size() >= 2){
        fi += 1;
        for(int j = 1; j <= cnt; ++j){
            transaction(last - 1);
        }
        last = last - 1;
    }else{
        for(int j = 1; j <= cnt; ++j){
            transaction(last - 2);
        }
        last = last - 2;
    }
  }
  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...